0

我目前正在进行聊天系统实验,但遇到了问题。

这是我的代码:

<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
   <script>
   function getUpdates() {
      $('#updates').load('chatlister.php', function() {window.alert('Load was performed.');});
   }
   setTimeout(getUpdates(), 1000);
   </script>
</head>
<body>
   <p>The updates are:</p>
   <div id="updates"></div>
</body>

出于某种原因,jQuery.load()函数没有将任何内容加载到<div>页面的“更新”部分。我检查chatlister.php并确保它有输出,并且我还确保这两个文件在同一个目录中。我对 jQuery 很陌生,所以请多多包涵。我错过了什么?

4

2 回答 2

2

您需要在此包装您的代码

$(document).ready(function(){ 
// Code here
});

因为代码永远不会被执行,要么就是你的 php 错误。

你应该看看jQuery AJAX

于 2013-09-02T23:37:22.527 回答
1

您必须等待 DOM 被创建,因此仅在文档准备好后运行:

$(document).ready(function(){
   $('#updates').load('chatlister.php', function() {window.alert('Load was performed.');});
});

如果你想每秒运行一次:

$(document).ready(function(){
   var getUpdates = function() {
      $('#updates').load('chatlister.php', function() {window.alert('Load was performed.');});
   }
   setInterval(getUpdates, 1000);
});
于 2013-09-02T23:37:32.647 回答