我目前有一段代码
$("#hlist").load("sg_ajaxCheckHymn.php",{hm: $("#textbox").val()});
可以正确运行一个php文件,该文件将进行数据库查找并返回一些格式正确的数据,该数据显示在名为hlist的Div中。
数据库查找还会收集另一个变量,该变量将不显示,但我希望返回该变量,以便以后可以在javascript变量中使用它。 (它将作为另一个Ajax查询的输入。)
有没有办法在一个Ajax调用中做到这一点(显示一些日期并保留另一个位供变量使用)还是我需要进行两个单独的调用?
答案 0 :(得分:0)
您可以使用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请求中显示。