我正在尝试检查当前登录的用户是否使用长轮询。
在性能和带宽方面实现这一目标的最佳方法是什么?
我不是在询问长时间轮询,而是检查用户是否登录的最佳方法。
我尝试使用GET
请求来检查登录状态。
var logged = $.ajax( {url:url,'type':'get'} );
logged.done(function(response, textStatus, jqXHR){ // success });
logged.fail(function((jqXHR, textStatus, errorThrown){ // sometimes it failed });
和PHP
if( is_logged() ){ echo 1; }else{ echo 0; }
因此,根据响应,我可以检测到状态。这很好用。但是我对带宽使用情况感到担忧,最后只有HEAD
类型,因此它只会获取标题内容。
所以我将php部分修改为..
if( !is_logged() ){
header('HTTP/1.0 401 Unauthorized');
}
在快速视图中我觉得方法没有问题。但相对而言,我是PHP新手,并认为这种方法可能存在一些问题。
这是检查登录状态的最佳方法吗?或者最好的方法是什么?
由于
答案 0 :(得分:1)
您的GET请求很好,我认为您的方法没有任何问题。没有出售的想法是返回1/0,保存您有形或返回标题/状态而不是正确的响应。
相反,回应JSON响应。 { success: true, response: {logged_in: true}}
我还会将您的php脚本更改为显示401标题,而是返回{success: true, response: {logged_in: false}}