.net JQ AJAX 请求 FromBody 接收格式
在.NET中,使用JQuery AJAX发送请求并在后端通过[FromBody]
特性接收数据时,需要确保发送的数据格式与后端期望的格式一致。以下是一个简单的例子:
首先,后端需要一个API控制器和一个接收POST请求的方法:
[ApiController]
[Route("[controller]")]
public class ValuesController : ControllerBase
{
public class InputModel
{
public int Id { get; set; }
public string Name { get; set; }
}
[HttpPost]
public IActionResult Post([FromBody] InputModel input)
{
// 处理输入数据
return Ok(new { input.Id, input.Name });
}
}
然后,前端可以使用JQuery AJAX发送JSON格式的数据:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
var data = JSON.stringify({ Id: 1, Name: "Alice" });
$.ajax({
url: '/values',
type: 'POST',
contentType: 'application/json', // 指定发送的数据格式为JSON
data: data,
success: function (response) {
console.log(response);
},
error: function (xhr, status, error) {
console.error(error);
}
});
});
</script>
确保在AJAX请求中设置contentType: 'application/json'
来指定发送的内容类型为JSON,并且发送的数据data
也需要是JSON字符串格式。后端的[FromBody]
特性会告诉ASP.NET Core框架从请求体中读取JSON格式的数据并将其绑定到InputModel
类的实例上。
评论已关闭