Использование функции JQuery Ajax для возврата 2 наборов данных - PullRequest
1 голос
/ 11 июля 2009

Я использую функцию JQuery AJAX для доставки данных в документ PHP.

В настоящее время функция успеха AJAX возвращает HTML, который добавляется на html-страницу.

Моя цель состоит в том, чтобы функция успеха возвращала второй / другой фрагмент данных, который можно использовать в качестве переменной JavaScript.

Как это можно сделать?

Обновление

На вопрос был дан правильный ответ. Вот пример полученного скрипта.

Документ PHP

<?php
$some_html = 'foo';
$some_value_for_js_variable = 'bar';

// create json content
echo "{";
echo "\"some_html_outupt\":\"$some_html\",";
echo "\"some_value_for_js_varialbe_output\":\"$some_vale_for_js_variable\"";
echo "}";
?>

JS Document

// Jquery ajax function
$.ajax({
    dataType: 'json',
    type: "POST",
    url: "some_file.php", // the location of the above mentioned php script
    cache: false,
    success: function(json) {
        $(el).html(json['some_html_output']); // add html output to page
        var a = json['some_value_for_js_varialbe_output']; // assign value to js varialbe
        }
    }
}); // ajax

1 Ответ

3 голосов
/ 11 июля 2009

Способ, которым я бы это реализовал, - вернуть данные в виде строки JSON с двумя элементами в ней. Первая часть будет содержать HTML, а 2-я часть содержит данные для нужной вам переменной.

{"html":{html},
"2nd variable":"{data}"}

и затем вы можете сделать вызов $ .getJSON на ваш веб-сервер, например

$.getJSON('path','querystring=if_needed',function(data){
    var html = data['html'];
    var 2ndVariable = data['2nd Variable']
    //do other things that you want
});

Надеюсь, это поможет

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