永久打印 ajax 回复 JavaScript/jQuery
Permanently print ajax reply with JavaScript/jQuery
上下文
Ajax 代码用于从 Sql 数据库中获取数据,因此当将新消息插入数据库时,该消息将打印到 HTML div.
问题
问题在于,当变量插入 div 时,它会替换 div 的现有值。一种可能的解决方案是每次都发送整个聊天记录,但出于显而易见的原因,我宁愿避免这种情况!
客户端代码
var newmessages = function () {
setTimeout(newmessages, 5000);
var request = $.ajax({
url: "ajaxtesting.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
if(msg !== null && msg !== "") {
$("#chat").html(msg);
scroll();
}
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
}
消息变量用于存储Ajax响应和行:
`$("#chat").html(msg);`
用来打印值到div "chat".
您需要附加到 #chat
而不是使用 html()
。
尝试
$("#chat").append(msg);
如果您需要在顶部插入新消息,那么
$("#chat").prepend(msg);
您可能想查看 jQuery 的 append() 函数:http://api.jquery.com/append/
这样您就可以附加 Ajax 调用的结果。
上下文
Ajax 代码用于从 Sql 数据库中获取数据,因此当将新消息插入数据库时,该消息将打印到 HTML div.
问题
问题在于,当变量插入 div 时,它会替换 div 的现有值。一种可能的解决方案是每次都发送整个聊天记录,但出于显而易见的原因,我宁愿避免这种情况!
客户端代码
var newmessages = function () {
setTimeout(newmessages, 5000);
var request = $.ajax({
url: "ajaxtesting.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
if(msg !== null && msg !== "") {
$("#chat").html(msg);
scroll();
}
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
}
消息变量用于存储Ajax响应和行:
`$("#chat").html(msg);`
用来打印值到div "chat".
您需要附加到 #chat
而不是使用 html()
。
尝试
$("#chat").append(msg);
如果您需要在顶部插入新消息,那么
$("#chat").prepend(msg);
您可能想查看 jQuery 的 append() 函数:http://api.jquery.com/append/
这样您就可以附加 Ajax 调用的结果。