.net core webapi Post接收不到ajax请求data数据

https://blog.csdn.net/weixin_44352179/article/details/106633989

 

 

在做.NET CORE WEBAPI接口案例的时候碰到了前端页面ajax post请求接口时,api接收到的数据为NULL。
在core里面

FromBody对应的是application/json或xml这种格式
FromForm对应的www-for或者form-data这种格式

apiController这个貌似是2.1开始才有的
不加apicontroller的话,默认是FromForm,加了默认是FromBody

//前端代码
$.ajax({
            type: 'POST',
            url: 'http://localhost:5788/Users/UserLogin',
            dataType: 'json',
            contentType: "application/json",
            data: JSON.stringify(objuser),
            success: function(data){
                alert('数据加载成功');
            },
            error: function(xhr, type){
                alert('数据加载失败');
            }
        });



经过测试有两种可行方法进行解决:
第一:

把.NET CORE WEBAPI接口控制器的[ApiController] 修改 成 [Controller] 就能正常获取参数实例。
第二

如果加了ApiController的话post方法的参数需要加上FromForm;
如:
[HttpPost]
public IActionResult Login([FromForm] User user)
————————————————
版权声明:本文为CSDN博主「石庆SQ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44352179/article/details/106633989

posted @ 2021-08-03 15:10  LuoCore  阅读(528)  评论(0编辑  收藏  举报