1

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

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

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

我尝试使用GETrequest 来检查登录状态。

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; }

因此,根据响应,我可以检测到状态。这很好用。但是我担心带宽使用并以 type 结束HEAD,因此它只会获取标头内容。

所以我将php部分修改为..

if( !is_logged() ){
 header('HTTP/1.0 401 Unauthorized'); 
}

快速查看我觉得方法没有问题。但相对而言,我是 PHP 新手,觉得这种方法可能存在一些问题。

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

谢谢

4

1 回答 1

1

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

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

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

于 2013-06-06T12:14:08.573 回答