解决.net core .net5 jquery ajax请求action获取为null的问题

代码如下:

var par=JSON.stringify({name:'Hello'});
 $.ajax({
        url: "/xxx/Edit",
        type: "POST",
        contentType: "application/json",
        data:par,
        success: function (result) {

            //
        },

action代码

// xxx controller
public async Task<JsonResult> Edit(string name)
{
    ...
    await ...
}

以上代码在mvc5中一点问题都没有,但是在core或.net5项目中 data值永远都为null。
后来查资料

https://stackoverflow.com/questions/59627571/asp-net-core-jquery-ajax-post-always-null

只需要改前端代码即可。如下

var par={name:'Hello'};//注意这里有变化,不需要JSON.stringify
$.ajax({
            url: "xxx/Edit",
            type: "POST",
           //contentType: "application/json",
            data: par,  
            success: function (result) {

                //
            },
            error: function (jqXHR) {

                //
            }
        });

也就是删除contentType的代码,data赋值不需要JSON.stringify转换,问题解决了。。。。

这tm太坑了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容