我基本上使用3个不同的JS方法从api获取数据,但它们返回错误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);
}
});
}
谢谢大家的建议和帮助。
最佳答案
原因是带有标题发送;它返回需要再次响应的选项,在JS中不值得这样做,所以我决定制作一个网关api以使用我在标头中使用的api。
谢谢。
关于javascript - 使用JScript从tfs扩展中调用Rest API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60510142/