11

遇到一些麻烦:

我做了这个简单的测试,警报弹出文本“测试返回简单”:

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 资源

卡住并希望有任何想法......谢谢!

4

2 回答 2

15

将您的 WebApi 方法更改为:

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);
    });
于 2013-10-28T08:45:53.500 回答
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/

于 2013-10-28T06:52:22.773 回答