2009-08-05 99 views
2

当用户向服务器进行AJAX查询时,是否有方法将用户重定向到页面(在我的情况下是登录页面)?服务器应该只在会话设置时才提供数据,否则应该重定向用户。我试着发送一个头(“位置:...”)请求,但浏览器将它作为一个字符串(xmlhttp.response)处理,而不是对其执行操作。使用AJAX重定向浏览器

回答

2

不直接。你的回调函数将不得不处理它。

例如,如果服务器发送文本“LOGIN; /login.php;”那么你的onreadystatechange回调可能有段

if (xmlhttp.responseText.substring(0,6) == 'LOGIN;') { 
    window.location.href = xmlhttp.responseText.split(";")[1]; 
    return; 
} 

如果您使用的是Ajax的框架,这个代码可以在任何一个回调得到Ajax调用的结果。

1

在回调函数中,如果未设置会话,可以将window.location设置为新页面。

2

不,不直接。您可以返回一些特殊的应该作为重定向处理的内容。但是,由于浏览器不想浏览,它不会。

+0

我会那样做。谢谢 :) – 2009-08-05 05:04:43