Это действительно очень странно.
Я попробовал ваш скрипт, и единственная проблема, которую я вижу, это то, что ASP.NET MVC2 не может возвращать данные json, когда вызов GET. Он был заблокирован по соображениям безопасности.
Если вы попытаетесь отследить ваш звонок с помощью Fiddler , вы можете заметить, что ответ выглядит примерно так:
"Этот запрос был заблокирован, поскольку конфиденциальная информация может быть раскрыта сторонним веб-сайтам, когда она используется в запросе GET. Чтобы разрешить запросы GET, установите для JsonRequestBehavior значение AllowGet."
Если вы хотите включить возвращаемые данные, вы можете принудительно ввести их:
return (Json(<your object>, JsonRequestBehavior.AllowGet));
или сделать ПОЧТУ. Вы можете найти больше информации здесь .