2016-04-27 137 views
1

我在準備一個JavaScript。下面是相同的代碼:在JavaScript上添加請求標頭

<html> 
 
<head> 
 
<body> 
 
<script> 
 
    var getJSON = function(url, successHandler, errorHandler) { 
 
    var xhr = typeof XMLHttpRequest != 'undefined' 
 
    ? new XMLHttpRequest() 
 
    : new ActiveXObject('Microsoft.XMLHTTP'); 
 
    xhr.open('get', url, true); 
 
    xhr.onreadystatechange = function() { 
 
    var status; 
 
    var data; 
 
    if (xhr.readyState == 4) { 
 
     status = xhr.status; 
 
     if (status == 200) { 
 
     data = JSON.parse(xhr.responseText); 
 
     successHandler && successHandler(data); 
 
     } else { 
 
     errorHandler && errorHandler(status); 
 
     } 
 
    } 
 
    }; 
 
    xhr.send(); 
 
}; 
 
getJSON('https://example.com/lol.json', function(data) { 
 
    alert('Your Token is: ' + data.token); 
 
}, function(status) { 
 
    alert('Something went wrong.'); 
 
}); 
 
</script> 
 
</body> 
 
</head> 
 
</html>

所以,這個文檔片斷是沒有「訪問控制允許來源」,我在本地運行這一點,所以我已經通過禁止使用file:///鉻的安全功能。

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security 

我需要運行這個沒有禁用安全功能是指通過將請求頭,如:

res.setHeader('Access-Control-Allow-Origin', "http://"+req.headers.host+':8000'); 
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); 
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); 
next(); 

其實,我不是在JavaScript不太好,自早晨用相同搞亂。任何人都可以幫助我解決這個問題,即如何在片段中合併這些請求標頭。

+0

最簡單的方法:(1。 )下載WAMP,LAMP,XAMPP或AMPPS,並將您的項目放在www/htdocs目錄中。 (2.)在本地主機上運行它。 (3.)...(4.)利潤。 –

+0

謝謝。我做甚至檢查JavaScript控制檯...的錯誤和所有..但我需要在腳本中使用這些標頭。 – Acid

+0

只要你甚至不使用HTTP,那麼試圖將_HTTP_標頭添加到任何東西是沒有意義的。 CORS-enabled頭文件當然必須由_server_設置 - 你不能在客戶端腳本中設置_makes_請求。 (因爲如果可能的話,這將使CORS幾乎沒用。) – CBroe

回答

0

你必須使用更新的Chrome啓動以下:

-disable-web-security -user-data-dir 

您可以在您的服務器端將其添加到響應頭:

file://