Как заставить Ajax загружать / отображать данные и возвращать переменную - PullRequest
0 голосов
/ 24 апреля 2019

У меня сейчас есть код

    $("#hlist").load("sg_ajaxCheckHymn.php",{hm: $("#textbox").val()});

, который правильно запускает php-файл, который выполняет поиск в базе данных и возвращает некоторые красиво отформатированные данные, которые отображаются в Div, называемом hlist.

Поиск в базе данных также собирает другую переменную, которая НЕ должна отображаться, но которую я хочу вернуть так, чтобы позже я могла использовать ее в переменной javascript. (Это будет вход в другой запрос Ajax.)

Есть ли способ сделать это за один Ajax-вызов (показать некоторую дату и оставить другой бит для использования в переменной) или мне нужно сделать два отдельных вызова?

1 Ответ

0 голосов
/ 24 апреля 2019

У вас может быть запрос AJAX на возвращение ответа JSON, содержащего несколько сведений, например:

Вывод sg_ajaxCheckHymn.php:

{
    'db_data' : { ... },     <-- to be displayed
    'hidden_data' : { ... }  <-- to be handled in JS, ...
}

Затем, после успешного выполнения AJAXвы можете обрабатывать вывод в формате JSON следующим образом (при условии, что у вас есть jQuery, см. http://api.jquery.com/jquery.ajax/ и http://api.jquery.com/deferred.then/):

$( ... ).ajax(
  ...
).then(function(data) {
  // Display DB results
  $('my_div').html(data['db_data']);

  // Handle other JSON data in the way you want
  console.log(data.hidden_data);
});

. Затем вы можете делать то, что хотите, чтобы оба результата БД отображались после AJAX.И некоторые другие (скрытые) данные, которые вы хотите обработать другим способом, и так в одном уникальном запросе ajax.

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