后端
[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
var json = JSON.stringify(this.user);
...
data: json
这样发送的data只是一个字符串,不是标准的json格式
标准的json格式是一个键值对:
data:{ "jsonStr": json }
public IActionResult Resigter(User user) 这个user不就是前端传入的参数吗,request要获取具体的json key值吧,你用request.form是啥意思?
我调试看到Requst内容里面的Form也显示异常“System.InvalidOperationException”
StreamReader stream = new StreamReader(Request.Body);
string body = stream.ReadToEndAsync()