[英]Problem with jQuery Ajax…how do I update two DIVs with ONE ajax call?
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}}来填充它,它是代码的一部分,而不是全部代码?
一种选择是返回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 }}"
}
您将需要从请求中返回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对象。
使用正则表达式
success:function(html){
$("#main").html(html);
$("secondary").html( /.*?(?=,)/.exec(html) );
}
$('#secondary').html($('#main p').html().split(',')[0]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.