Javascript + Ajax + Django - 聊天应用程序问题

标签 javascript jquery python ajax django

所以我在 django+javascript+ajax 中有这个应用程序

var friends = "{{friend}}";
function LoadJson(){ //start function
    $.getJSON( "/messages/message/friend="+friends, function( data ) {
        var items = [];
        var lastitem = parseInt($("#showdata div:last-child").attr("id"));
    if (lastitem !== lastitem) {
        var lastitem = 0;
    }
    $.each( data, function( key, val ) {

我想在此处添加此内容,以读取消息,如果大于 30 并且不包含空格,它将每 30 个字母添加一个空格:

        if ( key > lastitem ) {
            var str = val.msg;
            var search = str.search(" ")
            if (str > 30) {
                if ( (search == -1) || (search > 30) ) {
                    newVal = str.replace(/(.{30})/g, "$1\n");
                    console.log(newVal)
                }
            }

但是每次我向基本应用程序添加某些内容时,应用程序都会崩溃并多次显示最后一条消息。

        if ( key > lastitem ) {
            $("#showdata").append("<div class='well well-lg lighter row col-md-12' id='" + key + "'>"+"<span class='pull-left'><span class='sender col-md-3'>"+val.user+"</span>" + "<span class='message col-md-6' style='margin-left:30px;'>" + val.msg + "</span></span></br><small class='pull-right col-md-3'>"+ val.time + "</small></div>");
            $('#bottom').scrollTop($('#bottom').prop("scrollHeight"));
            $(window).scrollTop($(document).height());
        };
    });
});
setTimeout(LoadJson, 5000);

};

我将非常感谢任何形式的帮助。 谢谢!

最佳答案

这只是暂时解决了我的问题:

var friends = "{{friend}}";
function LoadJson(){ //start function
$.getJSON( "/messages/message/friend="+friends, function( data ) {
    var items = [];
    var lastitem = parseInt($("#showdata div:last-child").attr("id"));
    if (lastitem !== lastitem) {
        var lastitem = 0;
    }
    $.each( data, function( key, val ) {
        if (val.msg) {
            var str = val.msg;
            var search = str.search(" ")
        }
        if ( key > lastitem ) {
            if ( (search == -1) || (search > 30) ) {
                newVal = str.replace(/(.{30})/g, "$1\n");
                $("#showdata").append("<div class='well well-lg lighter row col-md-12' id='" + key + "'>"+"<span class='pull-left'><span class='sender col-md-3'>"+val.user+"</span>" + "<span class='message col-md-6' style='margin-left:30px;'>" + newVal + "</span></span></br><small class='pull-right col-md-3'>"+ val.time + "</small></div>");
            }
            else {
                $("#showdata").append("<div class='well well-lg lighter row col-md-12' id='" + key + "'>"+"<span class='pull-left'><span class='sender col-md-3'>"+val.user+"</span>" + "<span class='message col-md-6' style='margin-left:30px;'>" + val.msg + "</span></span></br><small class='pull-right col-md-3'>"+ val.time + "</small></div>");
            }
            $('#bottom').scrollTop($('#bottom').prop("scrollHeight"));
            $(window).scrollTop($(document).height());
        };
    });
});
setTimeout(LoadJson, 5000);

};

关于Javascript + Ajax + Django - 聊天应用程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667890/

相关文章:

javascript - 扩展 redux connect() 接收到的 React 组件

javascript - 如何使我的 Etch-A-Sketch 网格在悬停时改变颜色和不透明度?

javascript - AngularJs - 一个 $watch 函数中的多个应用/摘要周期

javascript - 表单结果立即被 jQuery 覆盖

python - 从 SQLAlchemy 中的表中选择特定列

python - 在Python中查找本周的星期一

python - 雷有奇怪的耗时

javascript - 如何更改动态创建图像的类属性值?

javascript - 用于选项框和键入操作的 Jquery 事件

javascript - 跳转到下一个非禁用单选按钮