javascript - JQuery 更高效地将新内容加载到 Div
问题描述
我有一个正在尝试开发的聊天系统,并且正在使用 jQuery。
目前,我有这样的事情来不断更新聊天以确保正在加载新消息:
setInterval(refreshMessages, 1000);
function refreshMessages() {
console.log("Refreshing messages");
$("#conversation_container").load(location.href+" #conversation_container>*","");
}
如果我在“提交消息按钮单击”时将此函数调用嵌套在 AJAX 请求中,则这确保了所有浏览器都会发生这种情况,而不仅仅是提交新消息的用户。
显然,这可能是低效的,因为这是每 1 秒执行一次。有没有办法,而不是重新加载整个 div,只需获取<div class="messages">
已添加到对话中的新内容并附加这些内容?或者任何其他方法可以提高效率?而不是强迫用户自己重新加载页面或每秒查询页面。
<div id="conversation_container">
<div class="message">
First Message!
</div>
</div>
<form>
<input id="conversationID" type="hidden"></input>
<input id="messageInput" name="message" placeholder="Type your message here" type="text"></input>
<input id="sendMessage" type="submit" value="Send"></input>
</form>
(这里有一些 Ruby 后端来存储消息并将它们保存到将显示在页面上的消息数组中)。
解决方案
推荐阅读
- java - Java - 如何在具有良好鼠标位置的缩放操作后居中渲染
- ansible - 测试列表中具有特殊字符的子字符串
- laravel - 如何将数据发送到流明路由
- c# - 无法将 some_type*** 从 C 编组到 C#
- swift - 在 Swift 中比较两个协议实例的相等性
- python - “类型”是函数还是类?
- python - 运行 python 代码时出现问题(马尔可夫链项目)
- python - 前端表单上的 Django ArrayField?
- firebase - Cloud Firestore 规则 - 允许任何人更新文档中的一个特定字段
- ios - 不正确的单元格信息被推送到下一个视图控制器