ajaxjquery更新div问题
我试图使用ajax来更新视图,只需在数据库中检查结果 如果找到结果,我的html div将更新为该div中的部分 如果未找到结果,则会在一段时间后进行检查 代码在没有if-else节的情况下工作 但是客户端浏览器会在某一点崩溃,浏览器被冻结(似乎如果我将缓存更改为True,它工作正常,对吗?) 我的if-else语句用于判断是否应该再次更新。逻辑是,如果我的html div得到段,我将停止更新ajaxjquery更新div问题,jquery,ajax,Jquery,Ajax,我试图使用ajax来更新视图,只需在数据库中检查结果 如果找到结果,我的html div将更新为该div中的部分 如果未找到结果,则会在一段时间后进行检查 代码在没有if-else节的情况下工作 但是客户端浏览器会在某一点崩溃,浏览器被冻结(似乎如果我将缓存更改为True,它工作正常,对吗?) 我的if-else语句用于判断是否应该再次更新。逻辑是,如果我的html div得到段,我将停止更新 <script> function updateResults() {
<script>
function updateResults() {
$.ajax({
type: 'GET',
url: "/sResultsView",
cache: true,
success: function(html){
$("#resultsDiv").html(html);
}
});
window.setTimeout('updateResults()', 4000);
}
if($'#resultsDiv:not(:has(p))'){
updateResults();
}else {
return;
}
}
</script>
函数updateResults(){
$.ajax({
键入:“GET”,
url:“/sResultsView”,
是的,
成功:函数(html){
$(“#resultsDiv”).html(html);
}
});
setTimeout('updateResults()',4000);
}
如果($'#resultsDiv:not(:has(p))){
updateResults();
}否则{
返回;
}
}
然而,它一直在告诉我语法是错误的,否则,这是我第一次编写ajax
有什么建议吗?我做得对吗?还有更好的主意吗
非常感谢您当前正在创建一个无限循环(或将要创建),请在
success
回调中安排检查,如下所示:
function updateResults() {
$.ajax({
type: 'GET',
url: "/sResultsView",
cache: true,
success: function(html){
$("#resultsDiv").html(html);
if($('#resultsDiv p').length == 0) //if not found, run again in 4 seconds
window.setTimeout(updateResults, 4000);
}
});
}
为完整起见,语法错误出现在
if
语句中,如下所示:
if($('#resultsDiv:not(:has(p))')){
^ ------- missing --------- ^
谢谢你的解决方案。使用您的代码,我添加了updateResults();作为最后一行,它是有效的!!!非常感谢你