2016-04-27 97 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://