как получить массив JavaScript в результате из jQuery.ajax()?

#jquery

#jquery

Вопрос:

Я использую что-то вроде этого,

 jQuery(function($) {
    function updateData()
    {

        var html = $.ajax({
            url: 'ajaxMap.php?id=' lastId,
            success: function(data) {
                            alert(data);
            }
        });
    }

    setInterval(function(){
        updateData()
    }, 2000);
});
  

Я ожидаю получить массив JavaScript после запроса PHP-файла. Как показано в коде, "данные" возвращаются после запроса URL (PHP-файл просто выводит массив JavaScript). Когда я использую alert(data), он показывает мне тот же массив. Но я не могу использовать это как массив. Например, я не могу использовать функции массива, такие как .длина и т. Д. На этом. JavaScript обрабатывает это как простую строку. Что я здесь делаю не так? Дайте мне знать, если мне нужно предоставить дополнительную информацию.

Ответ №1:

Используйте этот JS (не тестировался)

 $(document).load(function(){
  setInterval(function() {
    $.getJSON('ajaxMap.php?id=' lastId,function(data) {
      alert(data);
    });
  });
});
  

И json_encode($array) на стороне сервера (MIME-заголовок 'application / json' был бы отличным, но он не нужен)

Ответ №2:

Вам нужно проанализировать строку Json, подобную этой или этой