我正在尝试在 TFS 中创建一个仪表板小部件,该小部件从我的 SonarQube 6.1 实例中检索信息(特别是项目的代码覆盖率)。我在访问 web api 时遇到问题。我访问此数据的代码目前如下所示:
$.ajax
({
url: myurlapi,
xhrFields: {
withCredentials: true
},
crossDomain: true,
username: "",
password: "",
dataType: 'xml',
async: false,
success: function (data) {
alert(data);
},
error: function(xhr, status, error) {
alert("readyState: " + xhr.readyState);
alert("responseText: "+ xhr.responseText);
alert("status: " + xhr.status);
alert("text status: " + status);
alert("error: " + error);
}
})
当我尝试运行此程序时出现以下错误:“请求的资源上不存在'Access-Control-Allow-Origin'标头。因此不允许访问源'null'。”
我认为这很可能是 CORS 错误,因为我在尝试访问 Jenkins 时遇到了类似的问题。我读到您无法从 SonarQube 启用 CORS,那么我有什么替代方案?
此外,SonarQube 服务器和 TFS 服务器都是本地托管的。