TFS 2015 REST API身份验证



我试图通过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"));
 },

最新更新