Использование сообщения jQuery для ASP.Net webapi

У некоторых проблем:

Я делаю этот простой тест, и предупреждение выдает текст "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;            
    }

Появляется следующее сообщение об ошибке:

"HTTP-ресурс не найден, что соответствует URI запроса http://www.localhost/webapi/api/corkboard/test/ '

Застрял и оценил бы любые мысли... спасибо!

Ответ 1

Измените свой метод 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);
    });

Ответ 2

Попробуйте использовать следующий код.

$.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/