jQuery Ajax 问题…如何用一次 Ajax 调用更新两个 DIV?
function ajaxCall(query){
$.ajax({
method:"get",
url:"/main/",
data:"q="+query,
beforeSend:function() {},
success:function(html){
$("#main").html(html);
}
});
};
这是填充#main的全部代码:
<p>{{ num_results }}, you just searched for {{ query }}</p>
假设我还有一个叫$("secondary")的div……我该如何只用{{ num_results }}这部分代码来填充它,而不是全部代码呢?
4 个回答
0
$('#secondary').html($('#main p').html().split(',')[0]);
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
1
你需要从请求中返回一个 XML 或 JSON 对象,这样才能填充相关的部分。可以试试下面这个:
function ajaxCall(query){
$.ajax({
method:"get",
url:"/main/",
data:"q="+query,
beforeSend:function() {},
success:function(html){
$("#main").html(html.main);
$("#secondary").html(html.secondary);
}
});
};
你还需要更新服务器端,让它返回一个 JSON 对象。
6
一种选择是返回包含你所需数据的json格式信息,针对每个区域。
$.ajax({
method:"get",
url:"/main/",
dataType: "json",
data:"q="+query,
beforeSend:function() {},
success:function(json){
$("#main").html(json.main);
$("#secondary").html(json.secondary);
}
});
你将返回的是:
{
"main": "<p>{{ num_results }}, you just searched for {{ query }}</p>",
"secondary": "{{ num_results }}"
}