【问题标题】:MobileFirst Platform JavaScript adapter can't get the parameters through WLResourceRequestMobileFirst Platform JavaScript 适配器无法通过 WLResourceRequest 获取参数
【发布时间】:2015-05-05 04:46:30
【问题描述】:

我使用的是 mobilefirst 平台 v7,我使用 WLResourceRequest/sendFormParameters api 发送 post 请求,但是,我无法从 js 适配器端获取提交的参数...

以下是示例代码:

var resourceRequest = new WLResourceRequest("adapters/businessAdapter/flightsearch", WLResourceRequest.POST);
var params={
        "flightNum":'mu8899',
        "departCity":'SHA',
        "destCity" :'PEK'
};
resourceRequest.sendFormParameters(params).then(
        callSuccess,
        callFailure
);

js 适配器代码:

function flightsearch(params) {
   WL.Logger.info("get params "+params);


    var input = {
        method : 'post',
        returnedContentType : 'json',
        path : 'restapi/api/flightsearch',
        body :{
            contentType: 'application/json; charset=utf-8',
            content:params
        },
        headers: {"Accept":"application\/json"} 
    };

    return WL.Server.invokeHttp(input);
}

【问题讨论】:

    标签: ibm-mobilefirst mobilefirst-adapters


    【解决方案1】:

    您使用的语法适用于 Java 适配器。

    但是,对于 JavaScript 适配器,过程参数的处理方式不同。

    首先,您的适配器过程应该定义它所期望的参数:

    function flightsearch(flightNum, departCity, destCity) {
    ///
    }
    

    其次,此过程将使用 HTTP GETPOST 触发,其中一个名为 params 的参数需要包含一个数组,以正确的顺序表示所有过程参数:

    params:["mu8899","SHA","PEK"]
    

    现在使用 JavaScript,这将转换为:

    var resourceRequest = new WLResourceRequest("adapters/businessAdapter/flightsearch", WLResourceRequest.POST);
    var params=[
            'mu8899',
            'SHA',
            'PEK'
    ];
    var newParams = {'params' : JSON.stringify(params)};
    resourceRequest.sendFormParameters(newParams).then(
            callSuccess,
            callFailure
    );
    

    如您所见,我们首先以正确的顺序构建JSON数组(注意,数组不是对象),然后我们将其转换为String并以参数名称'将其发送给适配器params'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多