Несколько ответов AJAX - PullRequest
       4

Несколько ответов AJAX

0 голосов
/ 04 декабря 2010

У меня есть страница, где пользователь может «просмотреть дополнительную информацию», идентификатор отправляется на страницу php, которая затем запрашивает базу данных.Затем он возвращает некоторые данные, некоторые из которых я хочу поместить в текстовую область, а другие - в стандартный div.

Как я могу отправить несколько ответов назад и как узнать, что это за данные?например, отправить имя и адрес, как мне узнать, что php-страница отправляет обратно, чтобы я мог интерпретировать данные на стороне клиента?

Есть ли лучший способ, чем использовать

httpxml.responseText.indexOf("something")

Как два ответа могут содержать сходные данные?Что я надеюсь сделать, это отправить две переменные со страницы PHP, а затем «увидеть» эти переменные на стороне клиента?

Надеюсь, я не слишком запутался, спасибо.

Только Javascriptпожалуйста.

1 Ответ

2 голосов
/ 04 декабря 2010

Возвращает JSON, содержащий все ваши значения из PHP. Затем после получения ответа ваш javascript может делать со значениями все, что вы хотите.

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

- PHP -

$responseArr = array('a'=>1, 'b'=>2);
echo json_encode($responseArr);

Если я правильно помню (сейчас я делаю это с jQuery), просто выполнение eval () над текстом ответа сформирует объект для вас.

- javascript-- (просто ваниль, да? Ты не упомянул jQuery или что-то еще) это, вероятно, внутри вашего блока onreadystatechange

var r = xhr.responseText;   //assuming you name the XMLHttpRequest object 'xhr'
var rlist = eval('('+r+')');
document.getElementByID("foo").innerHTML = rlist['a']; //or whatever you want to do with these
document.getElementByID("bar").innerHTML = rlist['b'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...