首页 新闻 会员 周边

.net core控制器接收json

0
悬赏园豆:5 [待解决问题]

后端
[HttpPost]
public IActionResult Resigter(User user)
{
var v=Request.Form;
return View();
}
前段使用vue
var json = JSON.stringify(this.user);
this.$http({
url: "../Login/Resigter",
dataType: "Json",
method: "post",
data: json,
contentType: 'application/json'
}).then(function () {
alert("ok");
})
为啥控制器接收的都没有值,并且执行 var v=Request.Form;时就报“无效的application/json”错误,我用FromBody或者string接收都为null.什么原因,页面能弹出ok

灬丶的主页 灬丶 | 初学一级 | 园豆:4
提问于:2018-10-23 21:20
< >
分享
所有回答(3)
0

var json = JSON.stringify(this.user);
...
data: json

这样发送的data只是一个字符串,不是标准的json格式
标准的json格式是一个键值对:
data:{ "jsonStr": json }

逐影 | 园豆:982 (小虾三级) | 2018-10-23 22:48
0

public IActionResult Resigter(User user) 这个user不就是前端传入的参数吗,request要获取具体的json key值吧,你用request.form是啥意思?

jqw2009 | 园豆:2439 (老鸟四级) | 2018-10-24 08:53

我调试看到Requst内容里面的Form也显示异常“System.InvalidOperationException”

支持(0) 反对(0) 灬丶 | 园豆:4 (初学一级) | 2018-10-24 20:54
0

StreamReader stream = new StreamReader(Request.Body);
string body = stream.ReadToEndAsync()

zwbsoft | 园豆:202 (菜鸟二级) | 2022-06-02 11:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册