我创建了一个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/