如何在基于Ajax的应用程序中处理重定向

时间:2011-01-02 07:43:26

标签: php ajax

我正在开发一个基于Ajax的php应用程序。任何人都知道,我正在检查用户是否登录每个php文件作为第一个语句。在记录失败的情况下,我应该采用两种方式进行响应,

  1. 服务器使用标头(url)重定向到登录页面。  案例:如果用户直接输入特定的URL

  2. 在Ajax响应中传递url,询问客户端页面重定向或通知  CASE:如果用户尝试通过Ajax请求执行某些操作

  3. 所以我的问题是如何识别来自客户端的请求是否是Ajax调用?如果我知道我可以相应地处理我的回复。

    或者有更好的方法来处理上述情况吗?

    谢谢

2 个答案:

答案 0 :(得分:1)

这取决于您执行ajax调用的方式。最好在发送ajax请求时设置以下请求标头(大多数库,如jQuery或prototype将为您执行此操作):

'X-Requested-With' = 'XMLHttpRequest'

因此,您可以在服务器端检查该标头,并相应地使用302重定向或标记进行响应,以便客户端javascript执行重定向。

答案 1 :(得分:0)

在客户端,您可以解析AJAX响应,如果它显示用户需要登录,请调用window.location = LOGIN_PAGE_URL;