0

WLResourceRequest.POST在客户端有 javascript 调用,并试图在服务器端读取接收到的值。在服务器上,我只能读取“AB”。

客户端代码:

var resourceRequest = new WLResourceRequest("/adapters/AdapterNewGet/getFeed", WLResourceRequest.POST);
var formParameters={"params":"['AB','CD','EF']"};   
resourceRequest.sendFormParameters(formParameters).then(app.onSuccess, app.onFailure);

适配器端代码:

function getFeed(tag) {
    var input = {
        method : 'post',
        returnedContentType : 'xml',
        path : getPath(tag)
    };
    return MFP.Server.invokeHttp(input);
}

在这里,当我打印时JSON.stringify(tag),它只打印“AB”。请让我知道如何将客户端代码中的所有传递值访问到适配器方法getFeed(tag)中。

谢谢,

4

1 回答 1

0

向我指出的一个建议是

var params =['hello','world'];                                         
 var newParams = {'params' : JSON.stringify(params)};                   
 resourceRequest.sendFormParameters(newParams).then(.....)  

并在 JS 适配器中,相应地定义函数:

function getFeed(x,y) {                                                 

 WL.Logger.error(JSON.stringify(x));                                    
 WL.Logger.error(JSON.stringify(y));   

这意味着在接收端,您需要指定函数调用的参数数量与客户端设置的参数数量相匹配(此处为2)

如果您传递的值的数量在客户端上有所不同,这可能不起作用

于 2017-04-25T21:51:30.407 回答