我基本上使用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/

10-11 22:50
查看更多