我在客户端调用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)
的方法。
谢谢
向我指出的一个建议是
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(
如果要在客户端上传递的值数不同,则这可能不起作用