我创建了一个Asp.Net Core Web应用程序,并希望实现Web API。

我已经实现了功能性HttpGet,现在正尝试实现HttpPost函数:

  [HttpPost]
    public object Post([FromBody] object data)
    {
        return null;
    }


我已经使用Postman进行了测试,效果很好。
我在主体中设置了json对象(设置为raw和JSON(application / json))。

我得到了预期的答复。

但是,当我尝试使用Postman建议的代码(或我自己的尝试)从javascript调用此代码时:

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://localhost:51139/api/data",
  "method": "POST",
  "headers": {
    "content-type": "application/json",
    "cache-control": "no-cache",
    "postman-token": "999ee8ee-4e92-acb8-b7cf-144ffa49e5ee"
  },
  "processData": false,
  "data": "{\"Message\":\"This is body data\"}"
}

$.ajax(settings).done(function (response) {
  console.log(response);
});


我收到“ 415不支持的媒体类型”错误。

有人看到我要去哪里了吗?

最佳答案

我遇到了同样的问题,并尝试了一百万种不同的组合($.ajax$.post等),但最终的结果是accepts: "application/json"

{
    type: "post",
    accepts: "application/json",
    url: "http://localhost:51139/api/data",
    contentType : "application/json",
    data: "{\"Message\":\"This is body data\"}"
}

关于javascript - Asp.net核心api从Javascript(而不是Postman)获取“415 Unsupported Media Type”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42355080/

10-11 23:34
查看更多