Javascript:“;没有& # 39;Access-Control-Allow-Origin& # 39;标头存在
Javascript: " No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. "
我需要写一个网页,可以得到一些信息,我需要与JavaScript。服务器是一个竹服务器,我试图在我的JavaScript中利用他们的REST API。https://developer.atlassian.com/display/BAMBOODEV/REST + api
奇怪的是,我可以通过在浏览器中输入链接来执行所有请求,或者在终端中使用curl命令。它也可以通过python脚本工作。我可以用文中提到的所有方法来接收数据。只是当我转到JavaScript时,它不再工作了。
我一直在遵循以下链接中的信息,以提出CORS请求。http://www.codeproject.com/Articles/185506/AJAX-Cross-Origin-HTTP-request
下面是我的代码。我想知道我是否错过了什么。
<!doctype html>
<html>
<head>
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<script src="jquery-1.11.1.js"></script>
<script src="crypto-js.js"></script>
<script type="text/javascript">
function showResponse (response) {
RESPONSE = response;
if (this && this.url && (typeof(this.url) == "string")) {
var anchor = jQuery("#url");
anchor.text(this.url.toString());
anchor.attr('href', this.url.toString());
}
jQuery("#output").text(JSON.stringify(response, null, ' '));
}
</script>
<script type="text/javascript">
console.log("a")
var cor = null; // cor stands for Cross-Origin request
if (window.XMLHttpRequest) {
console.log("support xmlhttprequest");
cor = new XMLHttpRequest();
}else {
console.log("Your browser does not support Cross-Origin request!");
}
if("withCredentials" in cor){
cor.open('GET', 'http://bamboo.example.com/rest/api/latest/stuff', true);
cor.withCredentials = true;
cor.setRequestHeader('Authorization', 'Basic encoded_stuff');
cor.send();
}
cor.onload = function(){
var responseText = xhr.responseText;
console.log(responseText);
};
cor.onerror = function() {
console.log('There was an error!');
};
</script>
</head>
<body>
<div>URL:<a id="url"></a></div>
<hr>
<div>
<pre id="output">
<!-- content will appear here -->
</pre>
</div>
</body>
</html>
chrome控制台显示"请求的资源上没有'Access-Control-Allow-Origin'标头"。因此,原点'null'不允许访问",结果是401状态。
想知道我是否错过了代码?
谢谢
似乎您正在从一些不在同一域上的HTML文件向此REST API链接发送请求。由于该链接上没有"Access-Control-Allow-Origin"标头,并且您从不同的域向其发送请求,出于安全原因,您将不会从它获得一致的响应,而是会得到该错误和401错误,因为您未经授权查看该链接的内容。
不幸的是,这是没有办法的;
相关文章:
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- HTML将数据保存在Access中
- JSONP跨原点错误'不存在Access Control Allow Origin标头'
- Windows上的CouchDB说请求的资源上不存在“Access-Control-Allow-Origin”标头
- 尽管Access Control Allow Origin标头存在问题,但跨域XHR失败
- 请求的资源上不存在Access Control Allow Origin标头.htaccess
- No 'Access-Control-Allow-Origin'请求的资源上存在标头'错误
- Ajax: No 'Access-Control-Allow-Origin'标头存在于请求的资源上.起源
- 没有& # 39;Access-Control-Allow-Origin& # 39;头文件存在
- 没有& # 39;Access-Control-Allow-Origin& # 39;头文件存在.因此,不允许访问Ori
- Express JS: No 'Access-Control-Allow-Origin'标头存在于请求的
- 自动完成API错误:No 'Access-Control-Allow-Origin'标头存在于请求的资源
- CORS "No 'Access-Control-Allow-Origin'页眉存在"
- Javascript:“;没有& # 39;Access-Control-Allow-Origin& # 39;标头存在
- 我得到"No 'Access-Control-Allow-Origin'标头存在于请求的资源上
- “没有& # 39;Access-Control-Allow-Origin& # 39;标头存在于请求的资源"
- 解析"No 'Access-Control-Allow-Origin'页眉存在"Ch
- 没有& # 39;Access-Control-Allow-Origin& # 39;标头存在于请求的资源上.Chrom
- 没有& # 39;Access-Control-Allow-Origin& # 39;标头存在于请求的资源上.响应的HT
- Access-Control-Allow-Origin'标头存在于请求的资源上