检查登录状态javascript

时间:2013-06-06 07:05:46

标签: php javascript codeigniter long-polling

我正在尝试检查当前登录的用户是否使用长轮询。

在性能和带宽方面实现这一目标的最佳方法是什么?

我不是在询问长时间轮询,而是检查用户是否登录的最佳方法。

我尝试使用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新手,并认为这种方法可能存在一些问题。

这是检查登录状态的最佳方法吗?或者最好的方法是什么?

由于

1 个答案:

答案 0 :(得分:1)

您的GET请求很好,我认为您的方法没有任何问题。没有出售的想法是返回1/0,保存您有形或返回标题/状态而不是正确的响应。

相反,回应JSON响应。 { success: true, response: {logged_in: true}}

我还会将您的php脚本更改为显示401标题,而是返回{success: true, response: {logged_in: false}}