在ASP.NET Core中,可以通过以下方法解决Ajax POST请求使用[FromBody]无法工作的问题:
[HttpPost]
public IActionResult MyAction([FromBody] MyModel model)
{
// 执行操作
return Ok();
}
$.ajax({
type: "POST",
url: "/api/mycontroller/myaction",
contentType: "application/json",
data: JSON.stringify({ /* JSON数据 */ }),
success: function(response) {
// 处理成功响应
},
error: function(xhr, textStatus, errorThrown) {
// 处理错误
}
});
data: JSON.stringify({ /* JSON数据 */ }),
public class MyModel
{
public string Property1 { get; set; }
public string Property2 { get; set; }
}
如果仍然无法工作,可以尝试在Ajax请求中将dataType设置为"json",并检查控制台输出的错误信息。
$.ajax({
type: "POST",
url: "/api/mycontroller/myaction",
contentType: "application/json",
dataType: "json",
data: JSON.stringify({ /* JSON数据 */ }),
success: function(response) {
// 处理成功响应
},
error: function(xhr, textStatus, errorThrown) {
// 处理错误
}
});