jira api Access-Control-Allow-Origin

时间:2015-01-16 12:24:49

标签: javascript google-chrome-extension xmlhttprequest jira-rest-api

我正在尝试通过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();

1 个答案:

答案 0 :(得分:0)

Access-Control-Allow-Origin和朋友是响应标头,而不是请求标头。您无法在扩展端设置它们。

您有两个选择:

  1. 如果您控制服务器,则可以修改服务器以发送这些标头。然后Chrome不会抱怨。

  2. 您可以为{JIRA服务器request host permissions。然后跨域访问无关紧要(Chrome将忽略服务器设置)。