2013-03-18 162 views
1

我需要一个XMLHttpRequest发送到返回302个重定向,而不是重定向页面一个页面, 我看到了这一点: Problems with xmlhttprequest status 302XMLHTTP请求到302

但这种方法只适用于Firefox,我需要一些适用于IE和Chrome的东西。

谢谢

+0

不确定这是可能的,遗憾的是 - 我认为XMLHttpRequest规范说他们应该遵循重定向。 – cloudfeet 2013-03-18 10:37:12

+0

这是否会在使用Flash的客户端上运行?这可能会有些破绽,但是你可以将XMLHttpRequest替换为通过Flash调用来执行实际请求的内容,从而为您提供更多控制。 – cloudfeet 2013-03-18 10:39:20

+0

我不能指望它 – 2013-03-18 14:43:14

回答

0

这是不可能与JS做客户端。 XMLHttpRequest默默遵循重定向。

它会使用服务器作为代理吗?所以,你会主动要求"/utils/inspectRedirect?url=...",它会回报你是这样的:

{ 
    "originalUri": ..., 
    "redirectUri": ..., 
    "httpCode": 302 
} 

如果你不需要完整的数据,只是重定向的URI,那么这不应该放置任何应变的服务器上(它可以只做一个HEAD请求)。

+0

我只需要网址,但我没有访问服务器,它可能是不同的服务器......我只需要知道哪个页面发送重定向...你可以看到它与提琴手所以客户知道它,为什么我不能用js获取这些信息? – 2013-03-19 08:46:00

+0

由于XMLHttpRequests的已定义行为。您最近得到的是在[现有规范](http://www.w3.org/TR/2008/WD-XMLHttpRequest-20080415/#notcovered)中提到了可能的* future *“属性以禁用重定向。如果您需要跟踪重定向,那么使用XMLHttpRequest的纯JS客户端解决方案是不可能的。 – cloudfeet 2013-03-21 16:24:51