2016-06-10 164 views
0

我有以下的Java代碼:獲取URL重定向後,從JavaScript

 URL url = new URL(destUrl); 
     HttpURLConnection c = (HttpURLConnection) url.openConnection(); 
     c.setRequestMethod("GET"); 
     c.setInstanceFollowRedirects(false); 
     c.connect(); 
     String location = c.getHeaderField("Location"); 
     c.disconnect(); 

destUrl做一個重定向,我得到它重定向到並放入字符串位置的URL。這是真正的重點......我只需要知道重定向到的URL。

上面的代碼工作的很好,但我現在需要將它移植到JavaScript或jQuery中,以使用我正在編寫的Chrome擴展。我嘗試了很多方法,但迄今爲止還沒有成功。

完成此操作的最佳方法是什麼?

回答

0

jQuery中它會是這個樣子:

$.ajax({ 
    type: "GET", 
    url: destURL, 
    success: function(data, status, xhr) { 
     var location = xhr.getResponseHeader('Location'); 
    } 
}); 

或者類似的規定。

+0

謝謝。我嘗試了一種非常類似的方法,但是在請求的資源上出現了「否」Access-Control-Allow-Origin'標題。「錯誤。我試着將它更改爲jsonp,因爲這是一個推薦的解決方法,但是會給出錯誤Unexpected token <(可能是因爲它不是json,它是html)。 – Nullqwerty

+0

好吧,通過在該域的清單中放置權限來解決問題。但xhr的「位置」爲空。其他標題在那裏。 – Nullqwerty

+0

進一步的研究表明,原因位置爲空是因爲發生了重定向並且在該條件下位置爲空。任何其他想法? – Nullqwerty