因此,如果您回顾我之前关于 Exchange 自动发现的问题,您会发现获取自动发现 URL 的最简单方法是向服务器发送一个不安全、未经身份验证GET
的请求,ala:
http://autodiscover.exchangeserver.org/autodiscover/autodiscover.xml
服务器将以 302 重定向响应,并在Location
标头中使用正确的 url。
一开始我正在尝试使用 Chrome 扩展程序做一些非常简单的事情,我有:
if (req.readyState==4 && req.status==302) {
return req.getResponseHeader("Location");
}
使用完整的 XML Post 和用户凭据设置另一个 ajax 调用,
但是 Chrome 在此时挂起,查看开发人员面板显示它没有返回响应,而是表现得好像没有给出响应,同时显示
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
在错误日志中。
我看到它的方式,引用确切的响应状态与“捕捉”它大致相同,但我不确定问题是否出在 Chrome/WebKit 上,或者这是否是 XHR 请求始终处理重定向的方式。
我不确定如何捕捉到这一点,以便我仍然可以从响应中获取标题。
或者是否可以设置一个辅助 XHR,这样当它获得 302 时,它会发送一个完全不同的请求?
快速更新
我只是更改了它,使其不检查响应代码:
if (req.readyState==4) {
return req.getResponseHeader("Location");
}
相反,当我提醒它的值时,它是null
. 并且在开发控制台中仍然存在相同的错误并且没有响应。因此,它似乎要么没有将 302 响应作为响应进行跟踪,要么在消除该响应之后发生了某些事情?