在.NET Core中进行AJAX调用时遇到HTTP 400错误(Bad Request),通常表示客户端请求存在语法错误或服务器无法理解请求。以下是系统性分析和解决方案:
__RequestVerificationToken
。[Required]
)。contentType
或格式错误。/api/values/
vs /api/values
)。前端:
// 确保字段名、Content-Type、防伪令牌均正确
var token = document.querySelector('input[name="__RequestVerificationToken"]').value;
$.ajax({
url: '/api/user',
type: 'POST',
headers: { "RequestVerificationToken": token },
contentType: 'application/json',
data: JSON.stringify({ Username: "Alice", Age: 25 }),
success: function (response) { console.log(response); },
error: function (xhr) { console.error(xhr.responseText); }
});
后端:
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult CreateUser([FromBody] User user) {
if (!ModelState.IsValid) {
return BadRequest(ModelState);
}
return Ok("Success");
}
public class User {
[Required]
public string Username { get; set; }
[Range(1, 100)]
public int Age { get; set; }
}
Startup.cs
:Startup.cs
:通过以上步骤,可系统性定位并解决HTTP 400错误。
没有搜到相关的沙龙