使用ajax获取实时数据

时间:2017-03-24 09:25:24

标签: javascript php jquery ajax

大家好我想试着显示实时循环数据。当AJAX从动作页面循环中运行实时数字更新时,我想要使用AJAX。

$.ajax({
            url: "number.php",
            type: "POST",
            data: {
                name: name
            },
            cache: false,
            success: function() {
            /// some code to get result
           }

和循环页面 number.php

<?php
$id =$_POST['id'];
 while(true) // no matter
    { 
echo '<script>
        int i = 0;
        int ii += i;
        print(i); // i want to shoe this value 
        i++;
      </script>'
 }

1 个答案:

答案 0 :(得分:2)

您尝试做的事情可以通过网络套接字 http-long-polling

来实现

我建议你使用websockets,使用 Ratchet , Ratchet是一个松散耦合的PHP库,为开发人员提供了通过Web套接字在客户端和服务器之间创建实时双向应用程序的工具。

使用ajax不是一个好主意,因为你必须在每X秒后向服务器发送请求,即使服务器没有变化也要获取数据。这样做更像是你在不知道的情况下攻击自己的服务器。

  

但是如果你坚持使用ajax,你会运行一个会发送一个函数的函数   每x秒请求php脚本,这是你要做的   用Ajax。

$('document').ready(function () {
 setInterval(function () {getRealData()}, 1000);//request every x seconds

 }); 

function getRealData() {
$.ajax({
         url: "number.php",
         type: "POST",
         data: {
             name: name
         },
         cache: false,
         success: function () {
             /// some code to get result
         }
     }
 }

注意:我上面已经说过,请更好地了解一下websockets。