【发布时间】:2020-04-11 11:10:13
【问题描述】:
我刚刚迁移到 .NET Core 3.1,在我必须更新的不同内容中,我无法让我的 ajax 调用正常工作。
当我进行 ajax 调用时,没有任何数据绑定到我的操作中的对象参数。
这就是我在剃须刀页面中拨打电话的方式
fetch('/Administration/UpdateUserStatus', {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'RequestVerificationToken': $('input[name="__RequestVerificationToken"]').val()
},
body: JSON.stringify(data)
})
还有我的控制器操作
[HttpPost]
public IActionResult UpdateUserStatus([FromBody]User user) {
...
}
在上面的示例代码中,调试代码我可以看到user 以null 出现,因此来自ajax 调用的数据不会绑定到User 对象。
如果我删除[FromBody],user 不再以null 的形式出现,但数据仍然没有绑定。所有属性为 null 或默认值。
.NET Core 2.1 一切正常。
我需要在Startup.cs 中添加什么吗?也许我缺少一个新配置?
谢谢
【问题讨论】:
-
首先要检查两个版本的请求,看看有没有区别。
标签: ajax asp.net-mvc asp.net-core .net-core fetch-api