11

いくつかの問題があります:

この簡単なテストを行うと、アラートに「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 リソースが見つかりませんでした ' http://www.localhost/webapi/api/corkboard/test/ '

立ち往生し、ご意見をいただければ幸いです...ありがとう!

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 に答える