Как правильно извлечь данные из JSON.stringify - PullRequest
0 голосов
/ 02 июля 2018

Я изучаю AJAX и у меня возникают трудности с получением результата, когда я использую его в примере MVC.

Мой код состоит из следующих частей:

1- Контроллер MVC: есть метод, который просто возвращает одно значение:

    [HttpPost]
    public JsonResult DemoAjaxMvc()
    {
        return Json(new { returnedData = "Hello" }, JsonRequestBehavior.AllowGet);                
    }

2- Часть JavaScript:

function testAjax(){
  $.ajax({
          type: "POST",
          url: "DemoAjaxMvc",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (data) {
              //
              alert(JSON.stringify(data));

              alert(data.length);

              alert(data[0].returnedData);
          },
          error: function (exception) {                
              console.log(exception);
          }
      });
}

3- Просмотр части:

<button type="button" onclick="testAjax()">Show Returned Data</button>

Что я не мог понять, так это то, что код действительно может читать данные из alert(JSON.stringify(data));, но alert(data.length); всегда возвращает undefined, а alert(data[0].returnedData); возвращает ошибку

Как мне успешно извлечь returnedData из JSON.stringify(data)?

Я нашел несколько вопросов с почти таким же названием, что и мой вопрос, но я не мог их понять, потому что они кажутся разными, и я пока не знаю, как правильно читать код

1 Ответ

0 голосов
/ 02 июля 2018

Вы не нуждаетесь в stringify. dataType: 'json' сообщает jQuery, что ответом должен быть JSON, и он автоматически проанализирует его для вас. Все, что вам нужно сделать в этот момент, - это получить к нему доступ, как к любому обычному объекту.

console.log(data.returnedData); //this according to your code should be "Hello"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...