我有一个问题..在我的项目中,我需要向URL缩短网站(例如bit.ly等)发出AJAX请求。
我的目标是获取重定向网址或重定向网站的内容。到目前为止,在我从网上尝试了一些技术后,我仍然无法得到正确的结果。
我试图捕获301 HTTP响应状态(URL缩短网站的默认行为),但我发现请求永远不会返回301.奇怪的是,它返回200.
知道如何解决这个问题吗?非常感谢.. :))
答案 0 :(得分:3)
根据spec中引用的this answer,将自动遵循30x标头,并且无法从Ajax调用中获取重定向资源:
同源请求事件规则如下:
如果响应的HTTP状态代码为301,302,303或307 如果重定向违反了无限循环预防措施,则表示网络错误。
否则,请执行以下步骤:
将请求网址设置为Location标头传送的网址。
如果XMLHttpRequest源和请求URL的来源是相同的源,则在观察同源请求事件规则时透明地遵循重定向。
否则,请按照跨源请求步骤操作,并终止此算法的步骤。
您可能需要使用服务器端解决方案。