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

时间:2018-05-30 10:29:03

标签: javascript ibm-mobilefirst

在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 adapter:

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 {};
 }

在服务器端,不生成日志,例如“搜索...”,响应代码为415。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您应该将resourceRequest的Content-Type设置为application / x-www-form-urlencoded。

在代码中添加此行

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

参考duplicate SO thread