Ошибка вызова действия через getJSON в Asp.Net MVC - PullRequest
0 голосов
/ 27 февраля 2011

Я вызываю действие контроллера через метод $ .getJSON (), но я не знаю, почему действие не вызывает.

$.getJSON("/Home/Index", { ID:id }, function(){
});

Но когда я изменяю это на

$.getJSON("/Home/Index/s", { ID:id }, function(){
});

работает нормально.Я проверил свою маршрутизацию, и я не нашел там никаких проблем.В чем может быть проблема?

1 Ответ

1 голос
/ 27 февраля 2011

Это действительно очень странно.
Я попробовал ваш скрипт, и единственная проблема, которую я вижу, это то, что ASP.NET MVC2 не может возвращать данные json, когда вызов GET. Он был заблокирован по соображениям безопасности.

Если вы попытаетесь отследить ваш звонок с помощью Fiddler , вы можете заметить, что ответ выглядит примерно так:

"Этот запрос был заблокирован, поскольку конфиденциальная информация может быть раскрыта сторонним веб-сайтам, когда она используется в запросе GET. Чтобы разрешить запросы GET, установите для JsonRequestBehavior значение AllowGet."

Если вы хотите включить возвращаемые данные, вы можете принудительно ввести их:

return (Json(<your object>, JsonRequestBehavior.AllowGet));

или сделать ПОЧТУ. Вы можете найти больше информации здесь .

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