2013-06-25 3 views
-1

Я только что сделал обновление до JQuery 1.10.x и кроме нескольких незначительных изменений методы, все шло по плану, за исключением Ajax:данных Ajax не оценки опустошить

function get_folders_hierarchy_manual (object_folders) { 
    $.ajax({ 
     url: base_url + "path/" + object_folders.child, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     cache: false, 
     success: function (element) { 
      if (element!=null) { 
       for (var i=0;i<element.length;i++) { 
        // Do things. 
       } 
      } else { 
       // Do something else. 
      } 
     } 
    }); 
} 

Ранее , часть «сделать что-то еще» будет срабатывать, когда не будет данных, возвращаемых из источника данных. Однако, начиная с обновления, это больше не считается пустым.

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

Я установил часы на выражение элемента, и он не опорожнен между запросами. Честно говоря, я не знаю, что он сделал заранее, так как у меня не было причин смотреть!

Любые идеи?

Просто, чтобы быть ясным, элемент представляет собой массив объектов, и он всегда оценивает значение true; имеющих длину и содержащие объекты.

+2

не могу сказать, что я уверен, что когда-нибудь вернулся ' null ", когда не было данных, но попробуйте разложить условие на любое значение ложности' if (! element) {..' – adeneo

+0

Ну, что такое значение 'element', когда оно было' null' (или 'undefined') до? Посмотрите, а затем проверьте это значение. –

+0

Adeneo, который просто останавливает все на своих дорогах. –

ответ

0

Try данные truthify

success: function (element) { 
      if (element) { 
       for (var i=0;i<element.length;i++) { 
        // Do things. 
       } 
      } else { 
       // Do something else. 
      } 
     } 
+0

Нет, это ничего не делает. –

+0

В массиве сколько элементов есть? –

+0

Это количество элементов для предыдущей структуры папок. –

0

В конце концов, это была комбинация удаления условного и добавления параметра ошибки:

function get_folders_hierarchy_manual (object_folders) { 
    $.ajax({ 
     url: base_url + "path/" + object_folders.child, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     cache: false, 
     success: function (element) { 
      for (var i=0;i<element.length;i++) { 
       // Do things. 
      } 
     }, 
     error: function() { 
      // Do something else. 
     } 
    }); 
} 
Смежные вопросы