后台控制器:
[HttpPost]
public IActionResult Resigter([FromBody]User user)
{
return View();
}
前台代码:
var json = JSON.stringify(this.user);
this.$http({
url: "../Login/Resigter",
method: "post",
data: {
"user": json
},
headers: {
"Content-Type": "application/json"
}
}).then(function (repsone) {
var v = repsone;
alert("ok");
}, function (repsone) {
var v = repsone;
alert(false);
})
调试执行时Resigter也没有问题,只是user为null,但是js却一直弹出false,f12调试js出现500的错误,什么原因啊
data 传参错了,应该是 data: json
以前改成你那样的,也是500
@灬丶: 日志中可以看到具体的错误
@dudu: 我把url的点去掉就变成404的错误了,但是我的控制器就是在Controller文件夹下的LoginController文件夹下的控制器
@灬丶: 现在是 url: "/Login/Resigter"
吗?服务端路由是怎么配置的?
@dudu: 你是说Startup.cs吗?
@灬丶: 是的
@灬丶: 或者在 public IActionResult Resigter([FromBody]User user)
上加个属性路由 [Route("/Login/Resigter")]
@dudu: 不行,算了,我明天去问下我朋友吧,叫他帮我看看
data:this.user
应该这样写,把data中的user去掉直接赋值json
data: json
只有进,没有出。你是return view();
public IActionResult Resigter([FromBody]User user) 这里要的是一个User类型 但是你传的user是一个string类型!!!!