JQuery .append()只能运行一次

时间:2017-05-14 12:59:16

标签: javascript php jquery

我正在使用JQuery和PHP构建聊天应用程序。 PHP将聊天输入写入 (define (test lst) (cond ((null? lst) lst) ((odd? (car lst)) (set-car! lst (+ (car lst) 1)) (test (cdr lst))) (else (test (cdr lst))))) 文件,JQuery用于附加我希望打印聊天的div。我的输出打印发送聊天的人的用户名,但是消息永远不会添加到div。请帮忙!

JQuery代码:

data.txt

2 个答案:

答案 0 :(得分:0)

.append( content [, content ] ),其中content是DOM元素,文本节点,元素和文本节点数组,HTML字符串或要在匹配元素集中的每个元素末尾插入的jQuery对象。

我认为$(""+ data.text[i] +"") == [对象,oblect]

function updateChat() {
if(!instanse){
    instanse = true;
    /* define AJAX function */
    $.ajax({
        type: "POST",
        url: "ajax.php",
        data: {'function': 'update','state': state,'file': file},
        dataType: "json",
        success: function(data) {
            if(data.text){
                /* manage data */
                for (var i = 0; i < data.text.length; i++) {
                    alert(data.text[i]);
                    $('#chat-row').append($(data.text[i]));
                }  
            }
            /* manage position of current chat */
            document.getElementById('chat-row').scrollTop = document.getElementById('chat-row').scrollHeight;
            instanse = false;
            state = data.state;
        }
    });
} else {
    setTimeout(updateChat, 1000);
   }
}

答案 1 :(得分:0)

我设法通过替换它来解决这个问题:

success: function(data) {
            if(data.text){
                /* manage data */
                for (var i = 0; i < data.text.length; i++) {
                    alert(data.text[i]);
                    $('#chat-row').append($(data.text[i]));
                }  
            }

用这个:

success: $('#chat-row').load('data.txt')