как отправить вывод Json для просмотра в asp.net MVC - PullRequest
2 голосов
/ 20 октября 2010

Как я могу передать вывод json из действия контроллера в его вид? Как я уже пытался отправить, мой код:

public ActionResult Index()
{
    Guid Id = new Guid("66083eec-7965-4f3b-adcf-218febbbceb3");
    List<TasksToOfficer> officersTasks = tasks_to_officer_management.GetTasksToOfficers(Id);
    return Json(officersTasks)

}

он запрашивает JsonRequestBehavior.AllowJson подобный параметр. Я знаю, что это ново в asp.net mvc 2, но в качестве перенаправления для просмотра ничего не происходит, но запрашивается загрузка файла вывода json Я хочу работать с возвращенными данными в моем jQuery. Но что-то идет не так. и если я удалил параметр, то он показывает ошибку:
Этот запрос был заблокирован, поскольку конфиденциальная информация может быть раскрыта сторонним веб-сайтам, если она используется в запросе GET. Чтобы разрешить запросы GET, установите для JsonRequestBehavior значение AllowGet.


Как избежать этого и получить данные JSON при просмотре?

1 Ответ

6 голосов
/ 20 октября 2010

Вот пример того, что вы пытаетесь сделать. Сначала, по вашему мнению, вы вызываете $. GetJSON , чтобы получить данные JSON из действия:

 $.getJSON('/Data/StockQuote', function(data) {
    if (data.success) {
       ShowStockQuote(data);                         
    }
 });

Тогда ваше действие будет выглядеть так:

   public JsonResult GetStockQuote()
   {                 
       JsonResult result = new JsonResult()
       {
          Data = new { 
                 lastTradePrice = 50,
                 lastUpdated = "10/1/2010",
                 expirationDate = "10/2/2010",
                 success = true
           },
           JsonRequestBehavior = JsonRequestBehavior.AllowGet
        };

       return result;
   }

Как только данные JSON возвращаются из вашего действия в $. GetJSON , вы можете использовать данные для доступа ко всем значениям объекта JSON. Таким образом, data.success даст вам успех и так далее.

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