我创建了一个 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 :“应用程序/json”
:
{
type: "post",
accepts: "application/json",
url: "http://localhost:51139/api/data",
contentType : "application/json",
data: "{\"Message\":\"This is body data\"}"
}
关于javascript - Asp.net core api 从 Javascript 获取 "415 Unsupported Media Type"错误,而不是 Postman,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42355080/