我已经下载了这个模板,它基本上是python中Tornado的网络聊天室:https://github.com/nellessen/Tornado-Redis-Chat
我试图从“messsages”div中获取所有消息,并通过查询字符串将其作为变量'msgs'传递。 我使用查询字符串的原因是因为POST函数无法在github项目中实现,我无法通过JSON块传递数据,因为我不知道如何开始。一次msgs在querystring上传递,通过PHP意味着,我能够在一个名为'message log'的页面上回显消息。
我尝试了以下内容:
var msgs = document.getElementById("messsages").innerHTML
但是这只会得到包括div id,样式等在内的所有内容,而不仅仅是文本内容。当我在消息日志页面上尝试了.textContent或.text时,我得到一个空白页面或显示“未定义”的页面。我认为“未定义”的问题可能是因为变量msgs没有将其值更新为在messsages div上发布的消息。
有什么建议吗?
JS触发了在页面上查看的信息
showMessage = function(message) {
console.log("Show Message");
var existing = $("#m" + message._id);
if (existing.length > 0) return;
$("#messsages").append('<div class="message" id="' + message._id + '">' + message.body + '</div>');
$('#messsages').find(".message:last").slideDown("fast", function(){
$('html, body').animate({scrollTop: $(document).height()}, 400);
});
};
答案 0 :(得分:1)
#messages
条消息,则无法使用<div>
的ID。相反,使用班级.messages
因为你标记了jQuery,我假设你愿意使用它,而.each()
是一个循环遍历每个选择元素的函数,所以像这样:
var msgs = []; // initialize array
$('.messages').each(function() {
msgs.push($(this).text()); // add the text in this specific message div into the array
});
如果只需要一个长字符串,则构造一个字符串而不是数组。