Вызов API отдыха из расширения TFS с JScript - PullRequest
0 голосов
/ 03 марта 2020

Я в основном использую 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);
                            }
                    });   
            }

Спасибо всем за советы и помощь.

Ответы [ 2 ]

1 голос
/ 04 марта 2020

причина была отправка с заголовками; он возвращает опции, на которые нужно ответить снова, и это не стоило делать в JS, поэтому я решил сделать API-интерфейс шлюза для использования API, который у меня есть с заголовком.

Спасибо.

0 голосов
/ 03 марта 2020

Возможно, ресурс, к которому вы пытаетесь обратиться, не использует глагол GET.

вам необходимо подтвердить, с каким глаголом получен ресурс

Смотрите здесь: 405 Метод не разрешен MDN Документы

Подтвердите в документации API, с которым глагол запрашивает этот ресурс. Я мог бы быть POST, PUT и др. c

Здесь вы можете посмотреть объяснение

...