出现“ASP.NET Core MVC - Ajax Post 请求 400 错误”的原因可能有很多,但以下是一些常见的解决方法和可能的代码示例:
JSON.stringify()
方法将数据对象转换为 JSON 字符串。var data = { name: "John", age: 30 };
$.ajax({
url: "/api/mycontroller/myaction",
type: "POST",
data: JSON.stringify(data), // 将数据对象转换为 JSON 字符串
contentType: "application/json;charset=utf-8", // 设置请求头的内容类型为 JSON
success: function(response) {
// 处理成功响应
},
error: function(xhr, status, error) {
// 处理错误响应
}
});
Name
的字符串和一个名为 Age
的整数,您可以创建一个匹配的模型类。public class MyModel
{
public string Name { get; set; }
public int Age { get; set; }
}
[HttpPost]
public IActionResult MyAction([FromBody] MyModel model)
{
// 处理模型数据
return Ok();
}
Startup.cs
文件中配置路由。public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
// 其他配置
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他中间件配置
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
[HttpPost]
public IActionResult MyAction([FromBody] MyModel model)
{
// 调试代码或日志记录
// 处理模型数据
return Ok();
}
这些是常见的解决方法和代码示例,但实际情况可能因您的具体应用程序和需求而有所不同。如果以上方法无法解决问题,您可以进一步调查错误消息、日志和调试信息来找到更准确的解决方法。