2014-01-10 3 views
0

Я уже посмотрел все ответы об этом, и это не помогает мне. Я пытаюсь получить json данные из файла PHP. Он работает, но я не могу выводить все данные.получить json данные из php-файла с jquery

массив, который я получаю от PHP файла выглядит следующим образом:

connected<pre>Array 
(
[0] => Array 
    (
     [CategoryID] => 1 
     [CategoryName] => Beverages 
     [Description] => Soft drinks, coffees, teas, beers, and ales 
     [Picture] => beverages.gif 
    ) 

[1] => Array 
    (
     [CategoryID] => 2 
     [CategoryName] => Condiments 
     [Description] => Sweet and savory sauces, relishes, spreads, and seasonings 
     [Picture] => condiments.gif 
    ) 

[2] => Array 
    (
     [CategoryID] => 3 
     [CategoryName] => Confections 
     [Description] => Desserts, candies, and sweet breads 
     [Picture] => confections.gif 
    ) 

[3] => Array 
    (
     [CategoryID] => 4 
     [CategoryName] => Dairy Products 
     [Description] => Cheeses 
     [Picture] => diary.gif 
    ) 

[4] => Array 
    (
     [CategoryID] => 5 
     [CategoryName] => Grains/Cereals 
     [Description] => Breads, crackers, pasta, and cereal 
     [Picture] => cereals.gif 
    ) 

[5] => Array 
    (
     [CategoryID] => 6 
     [CategoryName] => Meat/Poultry 
     [Description] => Prepared meats 
     [Picture] => meat.gif 
    ) 

[6] => Array 
    (
     [CategoryID] => 7 
     [CategoryName] => Produce 
     [Description] => Dried fruit and bean curd 
     [Picture] => produce.gif 
    ) 

[7] => Array 
    (
     [CategoryID] => 8 
     [CategoryName] => Seafood 
     [Description] => Seaweed and fish 
     [Picture] => seafood.gif 
    ) 

) 
</pre> 

и моя функция Ajax выглядит следующим образом:

$.ajax({ 
    url:"data.php", 
    type:"json", 
    success:function(data){ 
     console.log(data) 
     $.each(data, function(key, field){ 
      $("container").append(field.CategoryName) 
     }) 
    } 
}); 

Я получил эту ошибку:

Uncaught TypeError: Cannot use 'in' operator to search for '1678' in connectedArray

+0

использование: для (вар я = 0; я Moussawi7

+2

Если ваш PHP код на самом деле отправки ' подключен

' and '
'Это часть вашей проблемы. Узнайте, где они добавляются и удаляют их. Кроме того, убедитесь, что вы 'json_encode' ваш массив. –

+0

Вы преобразовали php-массив в Json? –

ответ

0

Ваш data.php должен выглядеть примерно так.

$arData = array(

    [0]=>array(

     'categoryID' => 1, 
     'categoryName' => 'Beverages', 
     'description' => 'oft drinks, coffees, teas, beers, and ales', 
     'picture' => 'beverages.gif'  

    ) 

); 

$jsonData = json_encode($arData); 
header('Content-Type: application/json'); 
print($jsonData); 
+0

thankyou man all works !!! – viktorino

0

Проблема с вашим выходом PHP, это не действительный JSON, потому что у вас есть слово «подключен» и HTML-теги в там - раздеть их, и кодировать все с json_encode

затем добавить

header('Content-type: application/json'); 

в начало вашего дела.

Смежные вопросы