ajax - .NET Core 3.1 中使用 Fetch API 的 Ajax 调用
问题描述
我刚刚迁移到 .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
吗?也许我缺少一个新配置?
谢谢
解决方案
我解决了我的问题。Json.NET 已从 .NET Core 3.0 中删除,因此我必须添加对包Microsoft.AspNetCore.Mvc.NewtonsoftJson
(NuGet) 的引用,然后在ConfigureServices
方法下添加.AddNewtonsoftJson()
到 Razor Pages,如下所示
services.AddRazorPages().AddNewtonsoftJson();
之后,一切都像以前一样工作。
推荐阅读
- reactjs - React Recharts - 动态折线图只显示一条线的数据
- linux - 两点后的正则表达式
- java - 升级到 Spring boot 2.3.5.RELEASE 后的 Cassandra 身份验证问题
- java - 找到两个有和没有空格但有单词边界的单词
- c++ - 将枚举值与 SFINAE 结合使用
- ruby-on-rails - 图像未在 wicked_pdf 的 pdf 中呈现
- apache-kafka - 使用多个 KStream/KTable 实现 Micronaut/Kafka-Streams 的最佳实践?
- powershell - Powershell脚本如何处理直接传递给模块的参数
- python - 热绘制曲线并将其转换为 numpy
- c# - 试图制作“火与冰的舞蹈”并且遇到矢量问题