使用 JavaScript/jQuery 永久打印 ajax 回复

Permanently print ajax reply with JavaScript/jQuery

本文关键字:打印 ajax 回复 JavaScript jQuery 使用      更新时间:2023-09-26

>上下文

Ajax 代码用于从 Sql 数据库获取数据,因此当将新消息插入数据库时,该消息将打印到 HTMLdiv 中。

问题所在

问题是,当变量插入到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").append(msg);  

如果您需要在顶部插入新消息,那么

$("#chat").prepend(msg); 
您需要

附加到#chat而不是使用html()

http://api.jquery.com/append/

你可能想看看jQuery的append()函数:http://api.jquery.com/append/

这样,您可以追加 Ajax 调用的结果。