JQGrid 4.0, jquery 1.5.2, MVC3 json response больше не работает - PullRequest
0 голосов
/ 01 мая 2011

У меня есть приложение ASP.NET MVC3, которое отлично работало с jquery 1.4.2 и jqgrid 3.8. Теперь я хотел обновить до jquery 1.5.2 и jqgrid 4.0, но вдруг ни одна из моих сеток не работает. Ошибка, которую я получаю, зависит от того, какой браузер я использую для отладки. В chrome я получаю следующую ошибку:

Uncaught SyntaxError: Unexpected token :

и там возникает ошибка в jquery по инструкции

head.insertBefore( script, head.firstChild );

(где script.innerText содержит результат json, возвращаемый с сервера)

В Firefox с Firebug я получаю следующее

error:invalid label

и затем он показывает JSON

результат json, который я получаю, довольно прост и подтверждает правильность json в jsonLint:

{
 "page" : 1,
 "total" : 0,
 "records" : 4,
 "rows" : [
      {
           "id" : "ip_524",
           "cell" : ["C", "Indeling1", 524]
      },
      {
           "id" : "ip_531",
           "cell" : ["E", "fe", 531]
      },
      {
           "id" : "ip_545",
           "cell" : ["MAX", "1234567890123456789012345678901234567890", 545]
      },
      {
           "id" : "ip_541",
           "cell" : ["ER", "Indeling1", 541]
      }]
}

ajaxsettings для jquery установлен на традиционное использование jQuery.ajaxSettings.traditional = true;

тип данных для jqgrid - это json

1 Ответ

2 голосов
/ 02 мая 2011

Я нашел ответ на stackoverflow ( Неверная метка - jQuery Ajax / Json запрос )

Кажется, следующие строки, добавленные в javascript, решают проблему:

$.ajaxSetup({
   jsonp: null,
   jsonpCallback: null
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...