2016-03-15 56 views
0

與標題一樣的問題。在javascript中導航帶有服飾請求標頭的URL

在命令行中,我們可以鍵入

curl -H "header_name: header_value" "http://example" 

導航到http://example與盛裝的請求頭,如上所示。

問:如果我需要寫一個Javascript來做同樣的事情,我該怎麼做?

var url = 'https://example'; 
var myRequest = new XMLHttpRequest(); 
myRequest.open('GET', url ,false); 
myRequest.setRequestHeader('header-name','header-value'); 
myRequest.send(); 

我試過這段代碼,沒有語法錯誤,但頁面沒有改變。因此,我不知道我是否修改了請求標頭。

+0

有很多的答案已經在這個問題 http://stackoverflow.com/questions/1268673/set-a- request-header-in-javascript –

+0

@VitalyKulikov Thx的評論,我做了一些研究之前,我發佈的問題,但似乎他們沒有幫助。你的鏈接的答案不能幫助。 我在問題中分享了我的代碼,希望它有幫助。 –

+0

你提出了一個請求,但你沒有做任何響應,爲什麼頁面沒有改變 –

回答

1

這裏是你如何處理這個問題:

var req = new XMLHttpRequest(); 
 
req.open('GET', 'http://example', true); //true means request will be async 
 
req.onreadystatechange = function (aEvt) { 
 
    if (req.readyState == 4) { 
 
    if(req.status == 200) 
 
     //update your page here 
 
     //req.responseText - is your result html or whatever you send as a response 
 
    else 
 
     alert("Error loading page\n"); 
 
    } 
 
}; 
 
req.setRequestHeader('header_name', 'header_value'); 
 
req.send();

+0

非常感謝,它幫助我理解了XMLHttpRequest()的使用。還有一個問題,它是否支持添加服裝請求頭?例如請求頭「x-api-key」,通常出現在每個請求頭中。 –

+0

是的,我的回答中有一個例子 'req.setRequestHeader('header_name','header_value');' –

+0

我試過你的代碼,使用'window.location.href = url;'來更新我的頁面。該網站被導航到'url',但請求頭不適用。我是否用錯誤的方式更新頁面? –