我在客户端调用javascript WLResourceRequest.POST
并尝试在服务器端读取接收到的值。在服务器上,我只能读取“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)
。
谢谢,
答案 0 :(得分: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)
如果您传递的值的数量因客户端而异,则可能无效