问题描述: 在使用Ajax post请求到.NET Core动作并获取结果时,出现了不起作用的情况。
解决方法:
确保Ajax请求的URL正确无误。检查请求的URL是否与.NET Core动作的路由匹配。
确保Ajax请求的方法是POST。在Ajax请求中,使用type: "POST"
指定请求方法。
在Ajax请求中设置contentType
为"application/json"
,并将请求数据转换为JSON格式。示例代码如下:
$.ajax({
url: '/Controller/Action',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ param1: value1, param2: value2 }),
success: function(result) {
// 处理返回的结果
},
error: function() {
// 处理请求错误
}
});
FromBody
特性将请求的JSON数据绑定到方法参数。示例代码如下:[HttpPost]
public IActionResult Action([FromBody] MyModel model)
{
// 处理请求数据并返回结果
}
Json
方法将结果转换为JSON格式进行返回。示例代码如下:[HttpPost]
public IActionResult Action([FromBody] MyModel model)
{
// 处理请求数据并返回结果
return Json(result);
}
如果以上方法仍然无法解决问题,可以进一步检查.NET Core动作中的逻辑是否正确,以及数据的传递是否正常。也可以尝试使用其他方式进行请求和获取结果,例如使用Fetch API或jQuery的$.post
方法。