我读了一个问题this was the answer:
您可以从官方jquery站点了解Jquery Ajax:
网站链接 - > https://api.jquery.com/jQuery.ajax/
如果您不想使用任何点击事件,则可以设置计时器 定期更新。
下面的代码可能只是帮助您举例。
function update() { $.get("response.php", function(data) { $("#some_div").html(data); window.setTimeout(update, 10000); }); }
上面的函数会在每10秒后调用一次并从中获取内容 response.php并在#some_div中更新...
现在我正在聊天网站。简单。但是,如果让我们说从对话开始就发送了200个消息。如果我每次更新整个聊天数据,它将不得不再次写入200个消息,然后将写入1个新的消息,即第二百个消息。我的意思是我只希望不存在的数据更新而不是插入.. :)希望你明白我的意思。而且,在所有问题中,他们要么使用$ .get请求,要么使用jquery的load()函数编写一个神秘的php文件的路径,但从不告诉php文件中究竟是什么:) 另外,请不要阻止我寻求帮助,就像我上次一样:'(这真是令人心碎的真正被踢出这么棒的社区:)。
答案 0 :(得分:0)
后端(或服务器端)必须是处理和返回更新(尚未存在的数据)的人。
前端(或客户端)唯一可以做的就是从服务器获取响应,将其附加到容器中。
答案 1 :(得分:-1)
你需要改进你的php以返回所需的消息,不要返回html,返回json更容易工作。
file.php
$message1 = "message 1";
$message2 = "message 2";
$allMessages = json_encode(array($message1, $message2));
echo $allMessages;
当调用ajax时,请求将发送类似:{" message1"," message2"}
javascript代码
//when document is load
$(function(){
window.setInterval(function(){
//do ajax every x seconds
$.ajax({
type: "GET",
url: "file.php",
dataType: "json",
success: function(results){
//results have a json
results = JSON.parse(json);
//iterate each message
for(var i in results) {
//append each message to the chat div
$("#chat").append(results[i]);
}
}
});
}, 1000);
});
我希望它可以帮到你