将键/值对发布到web api

时间:2014-01-17 15:15:30

标签: jquery asp.net-web-api

我的web api控制器中有一个方法,如下所示:

    [HttpPost]
    public string DoRun(Guid id, IDictionary<string,object> parameters)
    {
        string val = this.Request.Content.ReadAsStringAsync().Result;
        return val;
    }

我遇到的问题是我无法让parameters实际绑定。它确实尝试从请求正文中读取它,因为val是一个空字符串,但Count的{​​{1}}为零(完全删除parameters参数,你可以看到parameters中的数据,并将其作为json字符串回显。)

这是我发布的方式(也可能是问题):

val

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用contentType指定请求正文的媒体类型。 dataType设置Accept标题和contentTypeContent-Type

$.ajax({
        url: "../../api/MyController/DoRun?id=7EEB1650-1CB7-41DB-8C0B-1016ACA0E568",
        type: "POST",
        data: JSON.stringify(dummyPayload),
        dataType: "json",
        contentType: "application/json",
    }).done(function (d) {
        console.log(d);
    });