2011-10-06 74 views
3

我有一個問題..在我的項目中,我需要向URL縮短網站(例如bit.ly等)發出AJAX請求。如何使用AJAX請求獲取重定向網址?

我的目標是要麼我可以得到重定向網址或重定向網站的內容。到目前爲止,在我嘗試了一些網絡技術之後,我仍然無法獲得正確的結果。

我試圖趕上301 HTTP響應狀態(的URL縮短服務網站的默認行爲),但我發現,請求從不返回301。奇怪的是,它會返回200

不知道如何解決這個問題?非常感謝.. :)

+0

200是因爲請求自動跟隨301.我不知道是否可以關閉 –

回答

3

根據this answer引述spec 30倍頭將自動跟隨,也沒有辦法從一個Ajax調用內得到重定向資源的保持:

的同源請求事件規則如下:

如果響應的HTTP狀態碼爲301,302,303或307 如果重定向違反了無限循環注意事項,則這是網絡錯誤。

否則,執行這些步驟:

  • 將請求URL通過Location頭所傳達的URL。

  • 如果XMLHttpRequest來源和請求URL的來源是相同的來源,則在觀察同源請求事件規則時透明地遵循重定向。

  • 否則,按照交叉原點請求步驟並終止該算法的步驟。

你可能會需要使用此服務器端解決方案。

+0

謝謝你的解釋......是的,我認爲服務器端腳本也會有幫助......但不幸的是,在我的項目中,我不能使用任何服務器端腳本...只有客戶端腳本允許.. :( – Abou

+0

@Abou也許有人設法想出一些天才的方式,我看不到,但我不認爲你可以單獨在客戶端做到這一點。 –