$ .ajax отправляют на Внутреннюю Ошибку Сервера возвратов контроллера MVC: словарь Параметров содержит пустую запись

Словарь параметров содержит пустую запись для параметра 'appId' не допускающего NULL-значения типа 'Система. Int32' для метода 'Система. Сеть. Mvc. ContentResult CheckForInstaller(Int32)' в 'HLIT_TicketingMVC.Controllers. TicketController'. Дополнительный параметр должен быть ссылочным типом, nullable типом, или быть объявлен как дополнительный параметр.

function SubmitAjax(url, message, successFunc, errorFunc) {
  $.ajax({
    type:'POST',
    url:url,
    data:message,
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success:successFunc,
    error:errorFunc
  });
};

Объект данных создается следующим образом:

var message={"appId":application.val()};

Я также попробовал строку jsonified:

var message="{'appId':"+application.val()+"}";

и

var message="{'appId':'"+application.val()+"'}";

Я проверил это, сообщение проникает с надлежащим международным значением, прежде чем оно попытается отправить. Мышь по отладчику последний раз показала: {appId="6"}

Сигнатура метода на контроллере:

public ContentResult CheckForInstaller(int appId)

Когда я удаляю параметр из сигнатуры метода, он действительно поражает точку останова внутри, таким образом, это - или атрибуты необходимости подписи некоторого вида, или сообщение не создается правильно, я верю.

5
задан Maslow 17 February 2010 в 15:15
поделиться

2 ответа

Уберите это:

contentType: 'application/json; charset=utf-8',

MVC не собирается разбирать JSON на int. Вам нужно значение по умолчанию application/x-www-form-urlencoded.

9
ответ дан 13 December 2019 в 19:26
поделиться

Я думаю, может быть, вы отправляете json контроллеру, попробуйте это

function SubmitAjax(url, message, successFunc, errorFunc) {
  $.ajax({
    type:'POST',
    url:url,
    data:"appId=" + application.val(),//not sure where you get the value from in your current code  
    dataType: 'json',
    success:successFunc,
    error:errorFunc
  });
};
2
ответ дан 13 December 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: