Я думаю, что у вас есть проблема Межсайтовый скриптинг . Проблема может быть решена, если сервер установит некоторые дополнительные опции в заголовке HTTP ответа. Таким образом, решение заключается не в модификации клиентского кода, как вы делаете сейчас, а в коде сервера.
Я рекомендую вам изучить параметры HTTP, которые будут установлены в заголовке HTTP с помощью tables.googlelabs.com
, используемого в демоверсии из ответа . Вы увидите, что ответ сервера имеет следующие дополнительные параметры HTTP:
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
и ответ JSON будет помещен в вызов функции, определенной параметром jsonCallback
. Если вы используете jsonCallback=?
, jqGrid сгенерирует имя функции (что-то вроде jQuery16407707202236448429_1319101394784
). Вы можете узнать больше о X-XSS-Protection
option здесь и о X-Content-Type-Options: nosniff
option здесь .
Как вы можете видеть в демонстрации , данные будут отображаться в jqGrid, поэтому межсайтовый скриптинг может быть реализован в jqGrid.
Поскольку мы называем сервер tables.googlelabs.com
, который не поддерживает параметры подкачки и сортировки jqGrid, я использовал его в демонстрационной версии
url: 'http://tables.googlelabs.com/api/query?jsonCallback=?',
postData: "sql=" + encodeURIComponent("SELECT * FROM 333136 LIMIT 10")
Использование строки вместо объекта в качестве значения postData
будет перезаписывать любых других параметров jqGrid, которые обычно публикуются. В этом случае вам это не понадобится, и, вероятно, вам нужно просто использовать url: 'http://xx.xx.x.xxx:8080/aa/bb/cc/user?jsonCallback=?'
.
В любом случае вам необходимо реализовать поддержку JSONP на вашем сервере. Это просто означает, что сервер должен «понимать» параметр jsonCallback
. Реализация зависит от вашей реализации на стороне сервера. Это может быть просто crossDomainScriptAccessEnabled="true"
параметр привязки для webHttpBinding
в случае службы WCF (см. здесь пример web.config
). См. этот ответ и этот (или этот ) дополнительно для веб-служб ASP.NET и ASP.NET MVC.