调用 ASP.NET Core 6 Web API 时,收到错误消息 400 bad request

问题描述 投票:0回答:1

有点奇怪。如果以下程序都在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);
   }

我在网站上找不到相关问题的答案,所以希望有人能提供建议,帮助解决问题。

c# jquery asp.net-core-webapi asp.net-core-6.0
1个回答
0
投票

您必须在 Ajax 请求中包含 contentType 以指定 MIME 类型(将在 Content-Type 标头中发送)

$.ajax({
        url: url,
        type: "POST",                   
        data: data,
        contentType: "application/json"

    })
© www.soinside.com 2019 - 2024. All rights reserved.