JavaScript獲取重定向的URL,是在Web開發(fā)中非常常見的操作。當我們使用瀏覽器訪問某個網(wǎng)址時,可能會因為某些原因被重定向到另一個網(wǎng)址。例如,在訪問某個網(wǎng)站時,如果我們未登錄,則可能會被重定向到登錄頁面。這時,我們需要獲取重定向之后的URL,以便進行后續(xù)操作。
在JavaScript中,獲取重定向的URL可以通過以下兩種方式實現(xiàn):
1. 使用XMLHttpRequest對象 2. 使用window.location.href屬性
下面分別介紹這兩種方式的具體實現(xiàn)方法。
1. 使用XMLHttpRequest對象
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { var redirectUrl = xhr.responseURL; console.log(redirectUrl); } }; xhr.open("GET", "http://example.com/page1", true); xhr.send(null);
在上面的代碼中,我們創(chuàng)建了一個XMLHttpRequest對象,并設置了其onreadystatechange屬性,當readyState為4且status為200時,表示請求完成并返回了200狀態(tài)碼。此時,我們可以通過xhr.responseURL獲取重定向之后的URL。
2. 使用window.location.href屬性
var url = "http://example.com/page1"; window.location.href = url; var redirectUrl = window.location.href; console.log(redirectUrl);
在上面的代碼中,我們將要訪問的網(wǎng)址設置為url變量,然后使用window.location.href屬性將其作為新的URL加載。注意,設置這個屬性會導致頁面重定向。最后,我們可以通過window.location.href獲取重定向之后的URL。
在實際應用中,以上兩種方式的選擇取決于具體需求。如果我們只需要獲取重定向之后的URL,可以使用window.location.href屬性。而如果需要在代碼中獲取服務器返回的狀態(tài)碼和響應頭信息,我們則需要使用XMLHttpRequest對象。
綜上所述,JavaScript獲取重定向的URL的方式有兩種:使用XMLHttpRequest對象和使用window.location.href屬性。開發(fā)者可以根據(jù)具體需求選擇合適的方式。