使用 JScript 从 tfs 扩展调用 Rest API
Calling a Rest API from tfs extension with JScript
我基本上使用 3 种不同的 JS 方法从 api 获取数据,但它们 return 错误 405:不允许使用方法,但服务器中允许使用 get 方法。它正在使用变量的路径,所以我想知道它是否与此有关。
这是我称之为 API 的方法代码。
获取方法;
function getCompleted(queryParam) {
$('#loader').removeClass('hidden');
$('#loaded').addClass('hidden');
fetch("****/fullprofile/" + queryParam, {
method: "GET", headers: {
"User": "*****",
"Content-Type": "application/json"
}
})
.then((data) => {
const contentType = response.headers.get('content-type');
console.log(contentType);
return data.json()
})
.then(function (result) {
ResponseBody = result;
$('#loader').addClass('hidden');
$('#loaded').removeClass('hidden');
}).catch(function () {
$('#loader').addClass('hidden');
$('#loaded').removeClass('hidden');
});
}
HTTP 请求方法;
function httprequest(queryParam2) {
$('#loader').removeClass('hidden');
$('#loaded').addClass('hidden');
var xmlhttp = new XMLHttpRequest();
xmlhttp.withCredentials=true;
var url = "*****/fullprofile/";
xmlhttp.onreadystatechange = function (data) {
console.log(this.responseText);
console.log(data);
}
xmlhttp.open("GET", url + queryParam2);
xmlhttp.setRequestHeader("User", "*****");
xmlhttp.send();
}
Ajax方法;
function ajax(queryParam3) {
$.ajax({
url: "****/fullprofile/" + queryParam3,
"method":"GET",
"headers":{
"User":"EBT\****"
},
success: function (data) {
ResponseBody = data;
console.log(data);
}
});
}
谢谢大家的建议和帮助。
您尝试查阅的资源可能没有使用动词 GET。
你要确认资源是用哪个动词获取的
看这里:
405 Method Not Allowed MDN Docs
在 api 的文档中确认请求资源的动词。我可能是 POST、PUT 等
原因是用 headers 发送;它 returns 需要再次响应的选项并且在 JS 中不值得做所以我决定制作一个网关 api 来使用 api 我有 header .
谢谢。
我基本上使用 3 种不同的 JS 方法从 api 获取数据,但它们 return 错误 405:不允许使用方法,但服务器中允许使用 get 方法。它正在使用变量的路径,所以我想知道它是否与此有关。
这是我称之为 API 的方法代码。
获取方法;
function getCompleted(queryParam) {
$('#loader').removeClass('hidden');
$('#loaded').addClass('hidden');
fetch("****/fullprofile/" + queryParam, {
method: "GET", headers: {
"User": "*****",
"Content-Type": "application/json"
}
})
.then((data) => {
const contentType = response.headers.get('content-type');
console.log(contentType);
return data.json()
})
.then(function (result) {
ResponseBody = result;
$('#loader').addClass('hidden');
$('#loaded').removeClass('hidden');
}).catch(function () {
$('#loader').addClass('hidden');
$('#loaded').removeClass('hidden');
});
}
HTTP 请求方法;
function httprequest(queryParam2) {
$('#loader').removeClass('hidden');
$('#loaded').addClass('hidden');
var xmlhttp = new XMLHttpRequest();
xmlhttp.withCredentials=true;
var url = "*****/fullprofile/";
xmlhttp.onreadystatechange = function (data) {
console.log(this.responseText);
console.log(data);
}
xmlhttp.open("GET", url + queryParam2);
xmlhttp.setRequestHeader("User", "*****");
xmlhttp.send();
}
Ajax方法;
function ajax(queryParam3) {
$.ajax({
url: "****/fullprofile/" + queryParam3,
"method":"GET",
"headers":{
"User":"EBT\****"
},
success: function (data) {
ResponseBody = data;
console.log(data);
}
});
}
谢谢大家的建议和帮助。
您尝试查阅的资源可能没有使用动词 GET。
你要确认资源是用哪个动词获取的
看这里: 405 Method Not Allowed MDN Docs
在 api 的文档中确认请求资源的动词。我可能是 POST、PUT 等
原因是用 headers 发送;它 returns 需要再次响应的选项并且在 JS 中不值得做所以我决定制作一个网关 api 来使用 api 我有 header .
谢谢。