обращаюсь к скрипту через ajax так:
$.ajax(
{
type : 'POST',
url : 'logic.php',
data : {'position' : $(this).attr('id'), 'action' : 'move'},
datatype: 'json',
success : function(data)
{
console.log(data);
}
});
в logic.php обрабатываются данные, посланные по ajax и далее формируется такой ответ:
$retArray = array('direction' => $direction, 'position' => $_REQUEST['position']);
return json_encode($retArray);
После чего в консоли Firebug`а вижу: {"direction":"left","position":"pos_row2_col2"} . Так вот как из этого достать только direction?? Я пробовал так: console.log(data.direction) - пишет undefined. Пробовал также в скрипте, к которому обращаюсь по ajax, делать так: после чего, страница выводится как plain text , без обработки html кода.. Что предпринять, чтобы достать данные из ответа json?
Примечание:
побовал делать так* header('Content-type: application/json'); и выводит текстом html код страницы
Примечание:
C echo json_encode($retArray); то же самое... Добавлю, что в logic.php у меня вызывается метод класса:
echo $unit->move();
сам класс описан в другом файле и прикручен к logic.php через include.
И вот это прописано в самом классе, в методе move():
return json_encode($retArray);
Может в этом проблема? Я в ООП пока не очень опытен.
Примечание:
разобрался.. Надо было добавить header('Content-type: application/json'); в обработчик ajax запроса. До этого я так делал и выдавало html код текстом, потому что получалось так, что этот заголовок отправлялся раньше, чем начало html кода с метатегами и прочим. Короче, надо было инклуды просто некоторые местами поменять в index.php и все.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.