2016-09-14 4 views
-2

У меня есть этот массив объектов, как я могу его пропустить через jQuery.each()?Как я могу использовать цикл jQuery.each() для массива объекта

 
Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
      [parent_cat_id] => 1 
      [child_cat_name] => Java 
      [status] => 1 
      [date] => 2016-09-11 01:26:00 
     ) 

    [1] => stdClass Object 
     (
      [id] => 2 
      [parent_cat_id] => 1 
      [child_cat_name] => JavaScript 
      [status] => 1 
      [date] => 2016-09-11 01:26:00 
     ) 

    [2] => stdClass Object 
     (
      [id] => 3 
      [parent_cat_id] => 1 
      [child_cat_name] => HTML 
      [status] => 1 
      [date] => 2016-09-11 01:26:00 
     ) 

    [3] => stdClass Object 
     (
      [id] => 4 
      [parent_cat_id] => 1 
      [child_cat_name] => PHP 
      [status] => 1 
      [date] => 2016-09-11 01:26:00 
     ) 

    [4] => stdClass Object 
     (
      [id] => 5 
      [parent_cat_id] => 1 
      [child_cat_name] => Python 
      [status] => 1 
      [date] => 2016-09-11 01:26:00 
     ) 

    [5] => stdClass Object 
     (
      [id] => 6 
      [parent_cat_id] => 1 
      [child_cat_name] => Ruby 
      [status] => 1 
      [date] => 2016-09-11 01:26:00 
     ) 

) 

Я пытаюсь использовать это -

$.each(data, function(key, value) { 
    console.log(value); 
}); 

Что дает мне следующее сообщение об ошибке -

TypeError: invalid 'in' operand e

+2

Вы показываете нам дамп объекта PHP, вы можете показать нам журнал на JS один? –

+0

Это то, что я получаю, если я 'console.log (data)' –

+0

@Simon, то вы не возвращаете json клиенту. –

ответ

0

Я предложил использовать вместо Foreach. Метод jQuery.each имеет другую цель.

data.forEach(function(entry) { 
    //Your logic. 
}); 
0

Ваш массив имеет странное форматирование. Смотрите пример:

 var data = [  
      {text: "hello"}, 
      {text: "good bye"}, 
      {text: "Hello again"}  
     ] 

     $.each(data, function(key, value) { 
      console.log(value.text); 
     }); 
0

Ваш синтаксис jQuery.each правильно, но, как упоминалось Карл-Андре Ганьон, то есть выход из массива PHP.

Передайте свой массив через json_encode перед отправкой его на передний конец.

http://php.net/manual/en/function.json-encode.php

+0

Да, я знаю, что могу передать это с помощью 'json_encode', но я хочу сохранить свои данные так, чтобы он был подходящим для обычных php-циклов. –

+0

@Simon вы не можете обойти оба. –

+0

@Simon, я имею в виду пропускать его через 'json_encode', когда вы передаете его на клиентскую сторону. Вам не нужно преобразовывать его навсегда. –