【问题标题】:How to get redirect URL using an AJAX Request?如何使用 AJAX 请求获取重定向 URL?
【发布时间】:2011-10-06 08:50:52
【问题描述】:

我有一个问题..在我的项目中,我需要向 URL 缩短网站(例如 bit.ly 等)发出 AJAX 请求。

我的目标是获取重定向 URL 或重定向站点的内容。到目前为止,我在网上尝试了一些技术后,仍然无法得到正确的结果。

我试图捕捉 301 HTTP 响应状态(URL 缩短网站的默认行为),但我发现该请求从不返回 301。奇怪的是,它返回了 200。

知道如何解决这个问题吗?非常感谢.. :)

【问题讨论】:

  • 200是因为请求自动跟随301,不知道能不能关掉

标签: jquery ajax redirect


【解决方案1】:

根据this answer 中引用的spec,将自动跟随 30x 标头,并且无法从 Ajax 调用中获取重定向资源:

同源请求事件规则如下:

如果响应的 HTTP 状态代码为 301、302、303 或 307 如果重定向违反了无限循环预防措施,则这是一个网络错误。

否则,请运行以下步骤:

  • 将请求 URL 设置为 Location 标头传达的 URL。

  • 如果 XMLHttpRequest 来源和请求 URL 的来源同源,则透明地遵循重定向,同时遵守同源请求事件规则。

  • 否则,请按照跨域请求步骤并终止此算法的步骤。

您可能需要为此使用服务器端解决方案。

【讨论】:

  • 感谢您的解释...是的,我认为服务器端脚本也会有所帮助...但是,不幸的是在我的项目中,我不能使用任何服务器端脚本...只有客户端-side 脚本允许.. :(
  • @Abou 也许有人设法想出了一些我看不到的天才方法,但我认为您不能单独在客户端做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
  • 2014-01-12
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
相关资源
最近更新 更多