我试图通过Team Foundation Server 2015 REST API读取查询。以下代码在Internet Explorer中起作用:
var tasksURI = tfs_url + collection + '/' + project + '/_apis/wit/wiql/' + queryId;
$.ajax({
url: tasksURI,
type: 'GET',
contentType: "application/json",
accepts: "application/json",
cache: false,
dataType: 'json'
}).done(function (data) {
var items = [];
$.each(data.workItems, function (key, val) {
items.push("<li> <a href='" + val.url + "'>" + val.id + "</a></li>");
});
$("<ul/>", {
html: items.join("")
}).appendTo("body");
});
在Chrome中会产生以下错误消息:
Failed to load resource: the server responded with a status of 401 (Unauthorized)
我看到了另一个问题:TFS 2015 REST API身份验证
,但是如果我遵循答案,我仍然会遇到相同的错误。我也希望提示用户获得凭据(例如在IE中),而不是存储。
我在做什么错?
我已经测试了您的脚本,IE和Chrome都没有授权标题有401个问题。但是,如果将以下内容添加到脚本中,IE和Chrome都在工作:
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("username" + ":" + "password"));
},