【发布时间】:2009-07-15 15:52:38
【问题描述】:
在我的 javascript 应用程序(使用原型)中,我需要来自第三方服务器的一些信息,该服务器有时需要与用户进行 Web 交互,因此它会在 Location 标头中发送带有新 URL 的 302 http 代码。我想要的是捕获这个新 URL 以在单独的窗口中打开它,但是方法 getHeader('Location') 总是返回 null。任何的想法???这是我的代码的简化版本:
UPDATE = function(){
new Ajax.Request(proxy_url,{
method: 'post',
parameters: "p1=1&p2=2",
on302: function(response){
OpenURLfromLocation(response);
},
onSuccess: function(transport){
alert("OK");
}
});}
OpenURLfromLocation = function(response){
alert(response.getHeader('Location'));
}
ajax 代理工作正常,我可以在 firebug 上看到它的行为正确,直到它尝试从标头恢复位置。
【问题讨论】:
-
当您在 Firebug 或 Fiddler 中查看时,您看到标题了吗?使字符串全部小写有区别吗?
-
是的,我可以在 firebug 中看到标题,我尝试使用小写字母,但仍然得到空值!
标签: javascript ajax prototypejs