遇到麻烦:
我做了这个简单的测试,警告弹出文本“test return simple”:
jQuery帖子:
$.post("http://www.localhost/webapi/api/corkboard/test/", jsonData)
.done(function(data){
alert(data);
});
Asp.Net WebAPI:
[HttpPost]
public string test()
{
return "test return simple";
}
但是当我通过添加参数来更改WebAPI时:
public string test(string JSONData)
{
var jData = Json.Decode(JSONData);
return "test return: " + jData.Filter;
}
我收到以下错误消息:
“找不到与请求URI'http://www.localhost/webapi/api/corkboard/test/'
匹配的HTTP资源坚持并感激任何想法......谢谢!
答案 0 :(得分:14)
将您的Web Api方法更改为:
public string test([FromBody]string JSONData)
{
var jData = Json.Decode(JSONData);
return "test return: " + jData.Filter;
}
和你的JQuery:
$.post('http://www.localhost/webapi/api/corkboard/test/', { '': jsonData })
.done(function(data){
alert(data);
});
答案 1 :(得分:6)
请尝试以下代码..
$.post("http://www.localhost/webapi/api/corkboard/test/", { value: jsonData })
.done(function(data){
alert(data);
});
或者,您可以查看以下链接..
http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/