使用AJAX重定向浏览器

时间:2009-08-05 04:36:35

标签: ajax

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

不直接。你的回调函数必须处理它。

例如,如果服务器发送文本“LOGIN; /login.php;”然后你的onreadystatechange回调可以有片段

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

如果你正在使用Ajax的框架,那么这段代码可以在任何回调中获得Ajax调用的结果。

答案 2 :(得分:1)

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