【问题标题】:How to GET data from API如何从 API 获取数据
【发布时间】:2020-01-13 19:13:37
【问题描述】:

我的 API URL 包含支付交易 ID。我想从我的 API 获取有关此交易的数据。 console.log(response); 部分是我需要从 API 获取数据的地方。然后我会将这些数据填充到标签中。我怎样才能做到这一点?我正在使用 jQuery、ASP.NET 和 C#。谢谢。

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

【问题讨论】:

  • 好吧,我猜你已经在这样做了。 response 变量是您从服务器收到的结果,应该包含您的支付交易 ID。
  • @EmielZuurbier 很抱歉造成混乱。当我查看控制台时,我确实看到了输出。但是我想单独打破这些领域。该对象包含 transaction_id、organization_id、location_id、status 等字段。
  • response 值是对象还是带有 JavaScript 对象表示法 (JSON) 的字符串?
  • 请不要破坏您的帖子。通过在 Stack Exchange 网络上发布,您已授予 SE 分发该内容的不可撤销的权利(在 CC BY-SA 4.0 license 下)。根据 SE 政策,任何破坏行为都将被撤销。

标签: javascript jquery asp.net get


【解决方案1】:

在 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)
    }
})

【讨论】:

    【解决方案2】:

    也许原生获取是更好的选择?只是建议。

    const { transaction_id } = await fetch(settings).then(r => r.json())
    

    【讨论】:

      【解决方案3】:

      告诉$.ajax 函数期待JSON 响应。通过将"datatype": "json" 添加到设置对象来做到这一点。现在这意味着您收到的响应将被视为JSON,这意味着如果它是一个包含对象的字符串,它会将字符串转换为您可以使用的对象。

      来自jQuery documentation:

      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..
          });
      }
      

      【讨论】:

        猜你喜欢
        • 2017-05-04
        • 1970-01-01
        • 2021-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 2022-01-07
        • 2017-07-14
        相关资源
        最近更新 更多