【问题标题】:How to check data from mysql realtime using ajax post requests?如何使用 ajax 发布请求实时检查来自 mysql 的数据?
【发布时间】:2015-01-10 10:12:23
【问题描述】:

如何使用 ajax 发布请求实时检查来自 mysql 的数据?

我使用此代码签入 mysql ,如果用户有新消息,它将实时回显 YOU HAVE NEW MESSAGE 文本。

并且这段代码将每 1 秒发布到get_data.php,我认为这对服务器和客户端来说非常辛苦,

当我尝试它不起作用时,我该怎么做?

<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
<form id="idForm"/>
    <input name="uid" value="1234"/>
</form>
<div id="result_data"></div>

<script type="text/javascript">
$(function(){
    setInterval(function(){
    $.ajax({
           type: "POST",
           url: get_data.php,
           data: $("#idForm").serialize(), // serializes the form's elements.
           success: function(data)
           {
               $('#result_data').show();
           }
         });
    },1000);    
});
</script>

【问题讨论】:

  • 你好,你将不得不使用 websockets 来做这种事情......它的协议开销比 HTTP 小得多,因为它更接近 TCP - 最简单的方法是查看 socket.io框架 > 如果您有任何与此相关的问题,请随时问我!

标签: php jquery mysql ajax


【解决方案1】:

您的最佳做法是使用 WebSockets。 协议开销比 HTTP 小得多,您将与服务器玩 PING 和 PONG 以检查新数据。

使用 websockets,您的客户端可以通过发送您的服务器将接收到的数据来发送消息,例如将其广播给其他客户端。

尝试深入了解 Socket.io,这就是我为理解这一点所做的 ;)

【讨论】:

  • facebook 使用 WebSockets 吗?用于提醒新消息。
  • 是的,每个实时服务都使用 WebSockets...您可以通过在浏览器中单击 f12 并查看网络连接来自行检查
  • 但是 WebSockets 在 ie7 上不起作用,为什么当我在 ie7 上使用 facebook 时,为什么消息提醒功能起作用?
  • 我同意妥协,如果你想要现代技术,你也必须适应它......所以拧 IE7
【解决方案2】:

假设你的 php 文件是正确的,如果你等待你的文档在你的 javascript 中准备好可能会有所帮助

$(document).ready(function(){
   //Your code
});

这是一件小事,但有时会破坏脚本

【讨论】:

    猜你喜欢
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多