2013-03-19 5 views
0

в PHPPHP массив JSON в JavaScript,

<?php 
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); 
    echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5} 
?> 

в JavaScript,

$.getJSON('drivetracker2.php', function(data) { 
    console.log(data); 
}); 

Я пытаюсь получить доступ к массиву PHP, который был послан с помощью JSON в JavaScript.
, но он говорит, что данные не определены.
Кто-нибудь знает, почему и как решить эту проблему?

+1

В результате получается, что вы получаете доступ к 'drivetracker2.php' в браузере? – pktangyue

+0

Код, который вы отправили, выглядит хорошо для меня. Вы пытаетесь получить доступ к «данным» в другом месте? –

+0

Если вы используете современный браузер, такой как Chrome/Firefox, вы должны проверить запрос с помощью средств разработки. Это позволит вам определить правильность отправки/получения запроса. – juco

ответ

1

Попробуйте

$.post('drivetracker2.php', function(data) { 
    console.log(data); 
},'json'); 
+0

Почему это должно измениться? Пожалуйста, объясни. –

+2

Вам нужно указать, в каком формате будет отправляться ответ. Здесь он говорит Jquery, что «ответ, который я ожидаю, является строкой JSON», поэтому он будет автоматически разбираться с объектом JSON. – Loupax

+0

@Loupax: Было ли это направлено на меня? '$ .getJSON' также сообщает jQuery рассматривать ответ как JSON. Нет никакой разницы с кодом OP, только то, что это POST вместо GET. –

1

Добавить это как раз, прежде чем повторить JSON.

header('Content-Type: application/json'); 
Смежные вопросы