2017-02-28 70 views
1

我已经做了一个小脚本来加载一个页面到另一个页面的div,每5秒刷新一次。JQuery间隔不工作

页面按预期加载,但间隔似乎不起作用。

我已经搜索了一个解决方案,但所有线程都说我的代码应该像这样工作。所以我决定在这里发布完整的代码。

JQuery的(和AJAX):

<script> 
function load(){ 
    $('#chatload').load('/intern/chat/chatlogframe.php/?name=muster',function() { 
     $(this).unwrap(); 
    }); 
} 

load(); // run it on pageload 
setInterval(function(){ 
    load() // this should run every 5 seconds 
}, 5000); 
</script> 

的chatlogframe.php文件包含SQL SELECT查询。每次执行scipt时都应该重新载入数据。

UPDATE:

我查了Chrome的控制台在那里说:Uncaught TypeError: $(...).unwrap is not a function

我不认为该函数是错误的,但也许它帮助。

更新2:

继承人的HTML DIV:

<div id='chatload'></div> 
+0

你忘了添加一个 “;”在加载结束时。查看您的浏览器中的控制台日志以查看是否有任何错误。也可以在你的间隔函数中尝试一个console.log。 – eiskaltereistee

+0

谢谢!但它仍然不起作用。我检查了Chrome控制台并得到这个错误:'Uncaught TypeError:$(...)。unwrap不是函数' –

+0

你确定jQuery文件正在被加载吗?这是说,它不是,因为jQuery不存在。更新:对不起没有看到它加载罚款下面的评论。我的错。 –

回答

1

它的工作原理。 $('#chatload').load('/intern/chat/chatlogframe.php/?name=muster',function() { $(this).unwrap(); });

.unwrap()可能存在问题,但需要发布您的示例HTML容器。

function load() { 
 
    console.log("Do something"); 
 
    $('#chatload').load('https://jsonplaceholder.typicode.com/posts/1', function() { 
 
    $(this).unwrap(); 
 
    }); 
 
} 
 

 
load(); // run it on pageload 
 
setInterval(function() { 
 
    load() // this should run every 5 seconds 
 
}, 5000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="chatload"></div>

+0

文件加载没有问题。只有时间间隔不起作用 –

+1

'.unwrap()'可能是个问题,但要确定您需要发布样本HTML容器。 – Rikin

+0

更新了问题 –