发送 post 请求时无法获取参数

Cannot get parameter when sending a post request

我正在使用属性路由。我无法从 HTTP 主体获取参数,任何人都可以告诉这里出了什么问题。我的 ConnectionID Class 有一个名为 CValue 的 属性。

$('#btn').click(function () {
    $.ajax({
        type: "POST",
        url: "http://localhost:49289/api/Resolver/StartRun",
        data: { "CValue": connectionID },
        success: success,
        dataType: "json"
    });
});



[Route("api/Resolver/StartRun")]
[HttpPost]
public async Task<string> GetStatus([FromBody]ConnectionID connectionID)
{
}

您正在使用需要 CORS 的路径,如果您将路径更改为相对路径:

url: "/api/Resolver/StartRun",

应该运行没问题,这里是我用来演示的简单示例。

JavaScript

<script>
        $.ajax({
            type: "POST",
            url: "/api/Resolver/StartRun",
            data: { "CValue": "123" },
            success: new function(){},
            dataType: "json
           });
</script>

控制器

    [Route("api/Resolver/StartRun")]
    [HttpPost]
    public async Task<string> GetStatus([FromBody]ConnectionID connectionID)
    {
        return "test";
    }

Class

public class ConnectionID
{
    public string CValue { get; set; }
}

屏幕截图

你必须相信我对 mac 上填充的参数的承诺,我不记得如何截取打印屏幕(使用截图工具),但如果你 运行它与上面你会看到。 :)