2014-12-24 2 views
0

Произошла ошибка: Unable to get property 'length' of undefined or null referenceIE 9 Ошибка в отношении свойства длины точки объекта данных ответа AJAX; используя jquery 1.10.2

Есть исправление без перезаписи этого кода. Я знаю, может использовать $.each, возможно, исправить это, но есть некоторые работы, не исправляя приведенный ниже код. Когда он попадает в data.length в цикле, он ломается.

$.ajax({ 
     type: "GET", 
     url: "api_build_left_nav", 
     dataType: 'json', 
     success: function(data) { 
      var current_category = 'not_defined'; 
      for (var i = 0; i < data.length; i++) { 
       if (current_category !== data[i].category) { 
        $(".menu_roll_out_content").append("<h2 class='left_nav_header'>" + data[i].category + "</h2>"); 
        current_category = data[i].category; 
        $(".menu_roll_out_content").append("<dt class='left_nav_link'><a href=" + data[i].href + ">" + data[i].report + "</a></dt>"); 
       } else { 
        $(".menu_roll_out_content").append("<dt class='left_nav_link'><a href=" + data[i].href + ">" + data[i].report + "</a></dt>"); 
       } // end else 
      } // end for loop 
     }, // end success fn 
     error: function(error) {} 
    }); // end ajax call 

ответ

0

Преобразовать JSON отформатированные данные в объект JavaScript, прежде чем итерация через:

var data = JSON.parse(data); 
Смежные вопросы