Ajax публикует данные об успехах: можете ли вы разделить результаты? - PullRequest
0 голосов
/ 15 октября 2011

В простом примере поста ajax:

$.post('ajax/test.php', function(data) {
$('.result').html(data);
});

Есть ли способ разделить данные результата, чтобы сделать две разные вещи? то есть:

$.post('ajax/test.php', function(data) {
$('.result').html(data.partone);
$('.other-result').html(data.parttwo);
});

Я запускаю ajax-запрос, когда страница загружена, и пытаюсь получить все, что мне нужно, в одном POST. Если это возможно, как вы определяете различные части данных на стороне PHP? (то есть: data.partone и data.parttwo)

Ответы [ 2 ]

4 голосов
/ 15 октября 2011

Вы можете вернуть данные в виде строки JSON , используя json_encode () в ассоциативном массиве, например: echo json_encode(array("partone" => "data1", "parttwo" => "data2"));

Таким образом, вы можете получить к нему доступ как data.partone и data.parttwo. Также стоит упомянуть, что вы должны определить dataType в $.post(), который будет читаться как JSON. Для этого вам нужно добавить еще один параметр, указав тип возвращаемых данных - JSON.

Например: $.post('ajax/test.php', function(data) { ... }, "JSON");

Также стоит отметить, что вы должны возвращать ТОЛЬКО этот json_encode() вывод обратно из скрипта ajax, иначе jQuery не сможет его правильно проанализировать.

0 голосов
/ 15 октября 2011

AJAX-вызов возвращает только один ответ, который хранится в этой переменной data.Однако то, что ваш серверный код возвращает в ответ на этот вопрос, зависит от вас, и то, что вы делаете с ним в своем Javascript, также зависит от вас.

Предполагая, что вы возвращаете какой-то HTML-код, который хотите сделатьсодержимое некоторых элементов на вашей странице, что вы можете сделать, это разделить две части таким образом, чтобы вы могли различить с помощью Javascript.Возможно, что-то вроде:

/* part one here */|parttwo|/* part two here */

Тогда вам просто нужно разделить data на '| parttwo |'строка и используйте элементы результирующего массива для установки содержимого ваших различных элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...