从 javascript 客户端调用 javascript 适配器会得到 415 不支持的媒体类型响应



在 MFF8.0 中,从 javascript 客户端调用 javascript 适配器会得到 415 不支持的媒体类型响应。 客户端代码:

var parameters = [{ 'project_code': '123', 'name': 'ABC', 'type': 'A' }];
var resourceRequest = new WLResourceRequest("/adapters/myAdapter/search, WLResourceRequest.POST);
resourceRequest.setTimeout(60000);
resourceRequest.setHeader("Content-Type", "application/json;charset=utf-8");
if (parameters === undefined) {
resourceRequest.send().then(function(res){
dfd.resolve(res);
},function(){
dfd.reject();
});
} else {
resourceRequest.send(parameters[0]).then(function(res){
dfd.resolve(res);
},function(){
dfd.reject();
});
}

JavaScript 适配器:

function search(p) {
MFP.Logger.info(“searching…”);
if (p) {
var pj = checkDefaultValue(p.project_code);
var name = checkDefaultValue(p.name);
var type = checkDefaultValue(p.type);
return search(pj,name,type); // this returns Javascript object
} else return {};
}

在服务器端,不会生成日志,例如"searching...",响应代码为 415。 如何解决此问题?

您应该将资源请求的内容类型设置为application/x-www-form-urlencoded。

在代码中添加此行

resourceRequest.setHeader('Content-Type','application/x-www-form urlencoded'(;

引用重复的 SO 线程

最新更新