当我将JSON格式的数据发送到Asp.net Core 3.0时,服务器响应为“不受支持的媒体类型”

时间:2019-10-27 10:08:13

标签: asp.net-core

Visual Studio 2019 Asp.Net Core 3.0

A。不受支持的媒体类型代码

    $.ajax({
        url: this.url,
        data: jsonDataParameter,
        cache: false,
        type: "Post",
        dataType: 'JSON',
        contentType: "application/json",
        success: function (data) {}
        });

B。成功的请求代码

$.ajax({
    url: this.url,
    data: JSON.stringify(jsonDataParameter),
    cache: false,
    type: "Post",
    dataType: 'JSON',
    contentType: "application/json",
    success: function (data) {}
    });

这是我的问题: 这是功能还是错误? 如果是功能,为什么?

谢谢你。

1 个答案:

答案 0 :(得分:2)

contentType是您要发送的数据类型,而application/json; charset=utf-8是用于发送json数据的常见数据。

在您的情况下,数据{a:1,b:2}只是一个Javascript对象,因此您需要使用JSON.stringify()方法将JavaScript对象或值转换为JSON字符串。

由于您的内容类型为application/json;,因此您需要使用[FromBody]并根据您的情况将数据作为对象接收。