Как получить данные из API - PullRequest
0 голосов
/ 13 января 2020

URL моего API содержит идентификатор платежной транзакции. Я хочу получить данные об этой транзакции из моего API. Часть, которая говорит console.log(response);, - это то, где мне нужно получить данные из API. Затем я заполню эти данные в ярлыках. Как я могу это сделать? Я использую jQuery, ASP. NET и C#. Спасибо.

    $.ajax(settings).done(function(response) {
        console.log(response);
    });

Ответы [ 3 ]

1 голос
/ 13 января 2020

Добавление методов 'success' и 'error' к вызову ajax поможет извлечь данные и коды ошибок.

Вот рабочий пример:

$.ajax({
    type: "GET",
    contentType: "application/json",
    url: "URL_WITH_TRANSACTION_ID",

    headers: {
              "Authorization": "auth-header-string"
            },
    success: function (output) {
        console.log("Success: " + JSON.stringify(output))
    },
    error: function (e) {
        console.log("ERROR : ", e.responseText)
    }
})
0 голосов
/ 13 января 2020

Скажите функции $.ajax ожидать ответа JSON. Сделайте это, добавив "datatype": "json" к объекту настроек. Теперь это означает, что полученный вами ответ будет обрабатываться как JSON, то есть, если это строка с объектом в нем, она превратит строку в работоспособный объект для вас.

Из jQuery документация:

dataType: тип данных, которые вы ожидаете от сервера. Если ничего не указано, jQuery попытается вывести его на основе MIME-типа ответа (XML MIME-тип даст XML, в 1.4 JSON даст объект JavaScript, в скрипте 1.4 выполнит скрипт, а все остальное будет возвращено в виде строки).

function SubmitTransaction() {

    // Card Card US Transaction Settings and Data
    var settings = {
        "url": "URL_WITH_TRANSACTION_ID",
        "method": "GET",
        "dataType": "json", // Add this line.
        "headers": {
            "X-Forte-Auth-Organization-Id": "ORGID",
            "Authorization": "AUTHID",
            "Content-Type": "application/json",
        },

    }

    $.ajax(settings).done(function(response) {
        console.log(response.transaction_id);
        console.log(response.organization_id);
        console.log(response.location_id);
        console.log(response.status);
        // etc..
    });
}
0 голосов
/ 13 января 2020

Может быть, родная выборка - лучший выбор? Просто предложение.

const { transaction_id } = await fetch(settings).then(r => r.json())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...