我的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
任何想法我做错了什么?
答案 0 :(得分:1)
使用contentType
指定请求正文的媒体类型。 dataType
设置Accept
标题和contentType
集Content-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);
});