Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   не срабатывает $.getJSON (https://javascript.ru/forum/jquery/49832-ne-srabatyvaet-%24-getjson.html)

virginkoks 30.08.2014 11:47

не срабатывает $.getJSON
 
Здравствуйте.

$.getJSON("test.php", {}, function(x) { alert(x) });

В случае, когда

test.php :
$data = $DB -> prep('SELECT `name` FROM `city`') -> fetchAll(PDO :: FETCH_NUM);
echo json_encode(array('data' => $data));

алерт срабатывает.

Если же

test.php :
include (some.php); //это содержится в some.php - $data = $DB -> prep('SELECT `name` FROM `city`') -> fetchAll(PDO :: FETCH_NUM);
echo json_encode(array('data' => $data));

алерт НЕ срабатывает, т.е. json получается с ошибкой.
В чём проблема?

ixth 30.08.2014 12:54

Возможно, в том, что нужо писать include "some.php";, возможно в самом скрипте some.php… Кто знает?

virginkoks 30.08.2014 13:04

в самом скрипте some.php просто содержится та самая строка из рабочего варианта ($data = $DB -> prep('SELECT `name` FROM `city`') -> fetchAll(PDO :: FETCH_NUM)).

В обоих случаях судя по firebug-у ответ приходит какой и требуется, однако в первом случае он интерпретируется как json а в случае include почему-то нет

virginkoks 31.08.2014 15:55

интересные подробности - если перед echo вставить include даже пустого файла, то json уже не проходит, с чем это может быть связяно?

ixth 31.08.2014 17:18

А что скрипт возвращает? Такой же json? Что с заголовками. Покажи скриншот панели сети в отладчике, пжлст.

virginkoks 31.08.2014 17:51

Вложений: 2
good.jpg - без include json валидный
bad.jpg - include пустого файла, данные приходят теже самые, однако не воспринимаются как json

ixth 31.08.2014 22:23

Я вижу, размер ответа различается на три байта. А нет ли у тебя случайно марки BOM в заинклюженном файле?

virginkoks 04.09.2014 18:19

проверил - нету бом. В настройках дримвьювера снята галка создавать с бом.

ixth 04.09.2014 23:57

Но файлец-то на три байта длиннее. Чую, дело в них.

virginkoks 10.09.2014 11:01

Оказалось дело в дримвьювере (может быть у меня кривой). При создании файла блокнотом с последующим его инклюдом всё проходит нормально.


Часовой пояс GMT +3, время: 11:33.