Как отформатировать JQuery GetJSON - PullRequest
1 голос
/ 31 августа 2011

Я звоню на сервер с:

var url = '@Url.Action("GetWhoBowls", "Home")';
 $.getJSON(url, { "theDate": "calEvent.start" }, function (data) {
                    alert(data.name);
                });

Я пробовал всю перестановку цитирования 'theDate' и даже calEvent.start, как указано выше ... во всех случаях сервер жалуется (из Firebug):

Словарь параметров содержит пустую запись для параметра 'theDate' ненулевого типа 'System.Double' для метода 'System.Web.Mvc.ActionResult GetWhoBowls (Double)' в 'MatchClubMVC.Controllers.HomeController'.

Firebug показывает параметры вызова как theDate calEvent.start

Вот моя подпись метода контроллера

публичный ActionResult GetWhoBowls (double theDate)

Может ли кто-нибудь быть таким добрым, чтобы направить меня на правильный путь?!

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Если вы ожидаете, что double на вашем контроллере не отправляет строку (удалите простые кавычки вокруг calEvent.start, иначе вы отправляете этот строковый литерал на сервер, который, очевидно, не может быть преобразован в double):

$.getJSON(url, { theDate: calEvent.start }, function (data) {
    alert(data.name);
});

Также убедитесь, что calEvent.start является допустимым двойным значением.

0 голосов
/ 31 августа 2011

попробуй

public ActionResult GetWhoBowls(double? theDate)

также возникает ошибка, потому что вы отправляете нулевое значение в { "theDate": "calEvent.start" }

EDIT

не уверен, решит ли это проблему или нет, но попробуйте это

var url = '@Url.Action("GetWhoBowls", "Home")';
 $.getJSON(url, { theDate: "calEvent.start" }, function (data) {
                    alert(data.name);
                });

и измените результат действия следующим образом

public ActionResult GetWhoBowls(double theDate)
{
  return(data,JsonRequestBehavior.AllowGet);
}

это выдаст ту же ошибку, если вы отправите null с клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...