【发布时间】:2011-02-05 21:02:24
【问题描述】:
我正在尝试在 firefox 扩展中使用 XMLHttpRequest 进行“POST”,然后尝试获取“Location”标题并在新选项卡中打开它。出于某种原因,XMLHttpRequest 不包含位置标头。
我的代码
function web(url,request)
{
var http = new XMLHttpRequest();
http.open('POST',url,true);
http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
http.onreadystatechange=function() {
if(http.readyState == 2) {
alert(http.getResponseHeader("Location"));
}
}
http.send(request);
}
另外,如果我将警报更改为 getAllResponseHeaders() 以查看所有标题,我只是看不到位置标题。如果我尝试使用 Firebug 监视原始站点的请求,它会在响应中显示位置标头。请帮我解决我的问题。谢谢:)
附:我也无法使用window.open(url, this.window.title); 在新标签中打开链接,但由于这与其余部分没有直接关系,我将发布一个单独的问题来询问它。
【问题讨论】:
-
在您的萤火虫控制台中,您是否看到与重定向相对应的第二个请求飞过?
-
@greim 请求是对“virustotal.com/vt/en/consultamd5”的请求,我在控制台“POST”中看到响应状态为“303 See Other”,其中包含发生的下一个“GET”的位置(在这种情况virustotal.com/buscaHash.html?invalid 因为我发送了无效的哈希)
-
@Crescent Fresh 所以你是说我无法做我想做的事?
-
@mcco:正确! (至少,不使用标准的
Location标头)。见stackoverflow.com/questions/1462919/…
标签: javascript firefox xmlhttprequest header firefox-addon