我试图用这个简单的代码每隔X秒钟或分钟刷新一个div的内容(游戏内聊天)
现在问题似乎是它永远不会刷新或加载其他页面。我一直在通过搜索引擎优化和其他编码网站进行梳理,并且相信我,关于这个功能,有一些关于这个功能的帖子,我有复制粘贴,手写和编辑其他代码,但似乎没有任何工作。顺便说一句,我没有使用Ajax,js或jquery的经验。只有HTML,CSS和一些PHP。
HTML 我知道我不需要那里的实际代码,并且可以轻松地将div留空以使脚本填充div。
<div id="chat">
<?php
$id = XXXX; //your service ID
$api_key = 'XXXX'; //your CBSM API key
$act = 2; //action #2 indicates retrieval of chat
$limit = 150; //number of chat results - max of 500
$offset = 0; //optional starting point.. to retrieve past messages
$response = file_get_contents('https://api.envul.com/?s='.$id.'&api='.$api_key.'&act='.$act.'&limit='.$limit);
if($response != '') {
$chat_messages = explode("<br>", $response);
foreach($chat_messages as $chat_message)
{
echo $chat_message;
echo '<hr>';
}
} else {
echo 'Error';
}
?>
</div>
脚本
<script>
function loadlink(){
$('#chat').load('chat.php'() {
$(this).unwrap();
});
}
loadlink(); // This will run on page load
setInterval(function(){
loadlink() // this will run after every 5 seconds
}, 5000);
</script>
单独页面上的PHP脚本
<?php
$id = XXXX; //your service ID
$api_key = 'XXXX'; //your CBSM API key
$act = 2; //action #2 indicates retrieval of chat
$limit = 150; //number of chat results - max of 500
$offset = 0; //optional starting point.. to retrieve past messages
$response = file_get_contents('https://api.envul.com/?s='.$id.'&api='.$api_key.'&act='.$act.'&limit='.$limit);
if($response != '') {
$chat_messages = explode("<br>", $response);
foreach($chat_messages as $chat_message)
{
echo $chat_message;
echo '<hr>';
}
} else {
echo 'Error';
}
?>
答案 0 :(得分:1)
我已经解决了这个问题。行$(this).unwrap();
导致刷新内容的位置以某种方式被抛弃。它被放在另一个div后面。
删除此行修复了我的问题。