0

我正在开发 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()
      {
   });
     };

我怎样才能做到这一点?

4

1 回答 1

1

你可以通过三种方式做到这一点:

1-使用webSocket它真的是实时的,您应该通过客户端javascript和服务器与任何webSocket服务器(例如node.js或)创建一个 webSocket 连接ratchet。缺点webSocket是一些旧浏览器不支持它。

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

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

于 2013-08-08T19:26:18.110 回答