如何使用AJAX请求获取重定向URL?

时间:2011-10-06 08:50:52

标签: jquery ajax redirect

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

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

我试图捕获301 HTTP响应状态(URL缩短网站的默认行为),但我发现请求永远不会返回301.奇怪的是,它返回200.

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

1 个答案:

答案 0 :(得分:3)

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

  

同源请求事件规则如下:

     

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

     

否则,请执行以下步骤:

     
      
  • 将请求网址设置为Location标头传送的网址。

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

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

  •   

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