发送帖子请求时无法获取参数

时间:2015-05-12 21:10:58

标签: javascript asp.net ajax asp.net-web-api asp.net-web-api-routing

我正在使用属性路由。我无法从HTTP正文获取参数,任何人都可以告诉我这里有什么问题。我的ConnectionID类有一个名为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)
{
}

1 个答案:

答案 0 :(得分:0)

如果您将路径更改为相对路径,则使用需要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";
    }

<强>类

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

截屏

enter image description here

你必须接受我在Mac上填充的参数的说法,我不记得如何使用打印屏幕(使用剪切工具)但是如果你用上面的程序运行它你会看到。 :)