我想让我的服务器重定向我的应用程序后,我使用ajax进行未经认证的GET请求。然而,当我得到重定向(服务器发送一个303与/login.html的位置),我在我的响应时,在firebug控制台中查看响应选项卡时获取login.html的完整HTML(也许这是正常的,我我不确定)。然后在firebug中查看它,我发现它正在尝试执行重定向,但控制台正在旋转该动作(从未完成处理它)。我曾尝试在网上找到了一些相关的信息,并没有成功,我发现最接近的是:HERE.Ajax GET后重定向GET
这里是我如何在JavaScript处理这样的:
function doSomethingAwesome()
{
try
{
ajaxObject.open("GET", serverLocation+ '?action=getSomeInfo', true);
ajaxObject.send();
}
catch(err){}
}
ajaxObject.onreadystatechange = function()
{
if(ajaxObject.status == 200 && ajaxUsers.readyState == 4)
{
do some stuff
}
}
我的响应头有以下信息: 303查看其它 连接:保持活跃 日期 地点:/login.html 服务器的nginx/1.2.7 传输编码:分块 所以onreadystatechange的功能实在不应该影响重定向(从什么我你理解),但我想我会把它扔在那里。真的,这里应该发生的一切是我与服务器通信以加载一些信息,它看到我没有登录(无论是GET还是POST),并且我应该收到重定向到登录页面(它不会“没有发生)。对不起,如果这听起来像漫不经心,我很欣赏任何建议或帮助任何人可以提供。
2013-04-29
Tombo890