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