JQuery отправить одно целое значение в asp.net webapi ошибка словаря параметров - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь отправить почтовый вызов из jquery в asp.net webapi с [FromBody] для одного целочисленного значения.

получаю ошибку, говоря, что словарь параметров содержит пустую запись.

вот мой код:

[HttpPost()]
public IHttpActionResult ChartData([FromUri] int appID,[FromBody] int aID)
{
    return Ok(jsonData);
}
function GetCallMethod(url, successCallback) {
    var id = 1234;
    $.ajax({
        url: url,
        type: 'POST',
        dataType: 'json',
        contentType:  "application/json",
        data: JSON.stringify({'aID':id}),
        success: successCallback,
        error: function (err) {
            console.log('Error getting data');
        }
    });
}

aID в контроллере получает 0

1 Ответ

0 голосов
/ 26 сентября 2018

Проблема с URL.

Если вы внимательно посмотрите на API, вы увидите, что он принимает два параметра.Первый, appID происходит от URL (это будет в форме baseurl / XXXX, где XXXX - идентификатор приложения в числовом формате - аналогично www.host.com/application/1234 или его разновидности) ивторой - aID, который исходит из тела запроса.

Что происходит, так это то, что веб-интерфейс API пытается выяснить параметры, которые вы передаете в конечную точку, создав словарь из комбинациипараметры тела и URL.Поскольку ваш параметр url, скорее всего, не существует - он создает исключение при создании этого словаря.

Просмотрите регистрацию маршрута для конкретной конечной точки и проверьте, где appID должен существовать в пределахURL-адрес.

...