我正在尝试通过chrome扩展程序连接到我的jira,但我有错误" Access-Control-Allow-Origin"。我该怎么办?
var loginName = $('.user').value;
var password = $('.pas').value;
var tok = "Basic " + btoa(loginName + ':' + password);
var url = "https://jira.company.com/rest/api/2/search";
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
$('#ret').html(xhr.responseText);
console.log(xhr.responseText)
}
}
xhr.open("GET", url, true);
xhr.setRequestHeader("Authorization", tok);
xhr.setRequestHeader('Access-Control-Allow-Headers', '*');
xhr.setRequestHeader('Content-type', 'application/ecmascript');
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.send();
答案 0 :(得分:0)
Access-Control-Allow-Origin
和朋友是响应标头,而不是请求标头。您无法在扩展端设置它们。
您有两个选择:
如果您控制服务器,则可以修改服务器以发送这些标头。然后Chrome不会抱怨。
您可以为{JIRA服务器request host permissions。然后跨域访问无关紧要(Chrome将忽略服务器设置)。