首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用来自cordova应用程序的javascript适配器的POST?

如何使用来自cordova应用程序的javascript适配器的POST?
EN

Stack Overflow用户
提问于 2016-07-08 15:08:57
回答 1查看 1.3K关注 0票数 1

我在本地机器上有一个正在工作的javascript适配器在MobileFoundation8.0beta中执行POST请求,并向MobileFirst Foundation8.0GA版本进行了迁移。

在这个问题中,我遵循了答案步骤How to move a MFP 8 Beta Mobile App to the MFP 8 GA Version?

现在,我将适配器上传到MobileFirst服务器上。我使用swagger测试了适配器POST,它成功了,如下图所示:

当我从移动设备执行带有POST的适配器时,在调试chrome时得到以下错误

当从客户端使用GET命令时,适配器本身也在工作。

问题是如何在客户机中使用post命令?

客户端适配器调用实现:

发布不工作的

代码语言:javascript
运行
复制
var sendFeedbackRequest = new WLResourceRequest(
              "/adapters/SendFeedback/sendFeedback",
              WLResourceRequest.POST);     
      sendFeedbackRequest.setQueryParameter("params",[ExchangeData.feedback.body.user,ExchangeData.feedback.body.feedback]);

获得工作

代码语言:javascript
运行
复制
var sendFeedbackRequest = new WLResourceRequest(
                  "/adapters/SendFeedback/sendFeedback",
                  WLResourceRequest.GET);     
          sendFeedbackRequest.setQueryParameter(ExchangeData.feedback.body.user,ExchangeData.feedback.body.feedback);

适配器实现:

代码语言:javascript
运行
复制
function sendFeedback(user, feedback) {

    var document = {
      body: {
        user: user,
        feedback: feedback
      }
    };

    MFP.Logger.warn("User feedback inputs " + JSON.stringify(document));

    var requestStructure = {
            method : 'POST',
            returnedContentType : 'plain',
            path : 'submitFeedback',
        body: {
          contentType:'application/json; charset=UTF-8',
          content: JSON.stringify(document)
        }
    };

    MFP.Logger.warn("Preparing request structure " + JSON.stringify(requestStructure));

    return MFP.Server.invokeHttp(requestStructure);

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-12 06:39:30

来自@Idan的基础教程的链接帮助修复了我正在使用的适配器。

https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/using-the-mfpf-sdk/resource-request/javascript/#sendformparameters-json

"sendFormParameters(formParams)“而不再是"setQueryParameter("params",用户,反馈)”

以下是客户机的工作代码:

代码语言:javascript
运行
复制
var formParams = {"params":"['" + theUser  + "','" +
                                         theFeedbackInformation + "']"}; 
        console.log('>>> Feedback  feedbackInformation: ', formParams);
        var sendFeedbackRequest = new WLResourceRequest(
              "/adapters/SendFeedback/sendFeedback",
              WLResourceRequest.POST);     
        sendFeedbackRequest.sendFormParameters(formParams);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38269988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档