javascript - Asp.net core api 从 Javascript 获取 "415 Unsupported Media Type"错误,而不是 Postman

标签 javascript jquery asp.net-core

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

相关文章:

javascript - 在遍历 Backbone Collection 时更新 DOM?

PHP jQuery MySQL 即时刷新

jQuery 提交解决方法

c# - ASP.NET Core Identity 中的两个身份验证 cookie

javascript - 亚马逊 API 调用以获取页面上列出的产品数量

javascript - jQuery 追加 DOM

javascript - 在 HTML5 WebAudio 中如何知道声音是否停止或播放完毕?

javascript - 正则表达式不包含

jQuery replaceWith() 在使用 indexOf() 时无法正常工作

c# - .NET Core MVC 中的部分内容(用于视频/音频流)