在cakephp或php中实时更新数据

时间:2013-08-08 18:14:06

标签: ajax json node.js cakephp jsonp

我正在开发Cakephp 2.x.

我的视图页面上有一个加载器/微调器,它正在等待用户移动设备的响应。不幸的是,我对如何从移动设备获取请求以及实时更新页面内容充满了空白。

这是函数

 <script>
var cancelled = true;

 $.modal.prompt('Enter message :', function(value)
{
  $.ajax({
  type:"POST",
  data:{value:value},
  url:"/cakephp/api/getData/",
  success : function(data) {
     //i am starting the spinner here .. 
   here i want to get the value from an android device ..as soon as i receive the value i want to stop the spinner
},
   error : function() {
   alert("error");
 }
    });
    }, function()
      {
   });
     };

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以通过三种方式实现:

1-使用webSocket它是非常实时的,你应该通过javascript客户端和服务器与webSocket或{node.js服务器创建一个webSocket连接1}}。 ratchet的缺点是某些旧浏览器不支持它。

2-使用webSocket,它创建了与Long polling之类的服务器的连接,但是AJAX连接打开了一段时间(不长),在连接期间,打开的客户端可以从服务器。由于超时,客户端必须在连接关闭后定期重新连接。在服务器端,它仍然像keep-alive请求一样对待HTTP。在客户端,您可以使用AJAX javascript库,而服务器端strophe可以使用ejabberd长期提取服务器。

3-间隔使用AJAX,您可以间隔发送请求,以检查是否有任何响应来自服务器中用户的移动设备。但这不是真正的实时。