有点奇怪。如果以下程序都在ASP.NET Core 6 MVC项目中,就没有问题。
但是如果你把程序分开。 Ajax位于ASP.NET Core 6 MVC项目中,C#功能位于ASP.NET Core 6 Web API项目中。当 Ajax 调用 C# 函数时,我总是收到 400 bad request 错误。
如何解决这个问题?
Javascript(Ajax):
var data = {
value1: "ProposerMail",
value2: "ExpextMail",
};
var url = "https://localhost:7253/Values/api/Test666";
$.ajax({
url: url,
type: 'POST',
data: data,
}).done(function (data) {
var lsTemp;
lsTemp = "AAA";
})
.fail(function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.status);
alert(textStatus);
alert(errorThrown);
});
C#:
[HttpPost]
[Route("api/Test666/")]
public IActionResult Test666(string value1, string value2)
{
return Ok(value1);
}
我在网站上找不到相关问题的答案,所以希望有人能提供建议,帮助解决问题。
您必须在 Ajax 请求中包含 contentType 以指定 MIME 类型(将在 Content-Type 标头中发送)
$.ajax({
url: url,
type: "POST",
data: data,
contentType: "application/json"
})