我正在开发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()
{
});
};
我该怎么做?
答案 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
,您可以间隔发送请求,以检查是否有任何响应来自服务器中用户的移动设备。但这不是真正的实时。