【问题标题】:API call results in "undefined" returnAPI 调用导致“未定义”返回
【发布时间】:2017-05-09 16:13:17
【问题描述】:

基于下面的 JavaScript,我使用 Ajax 通过 API 调用特定数据。它使用用户名和密码进行身份验证。

我可以在控制台、标题和macro_address中看到我需要的数据,但是当它点击HTML页面时,它显示给我:

工作:未定义,位置:未定义

为什么?

$(function () {
    var $jobs = $('#jobs');

    $.ajax({
        type: 'GET',
        url: 'https://url.com/api/api-key/jobs?status=active',
        username: 'user name',
        password: 'password',
        beforeSend: function (req) {
            req.setRequestHeader('Authorization', 'Basic ' + btoa('username:password'));
        },
        success: function (jobs) {
            $.each(jobs, function (i, prem) {
                $jobs.append('<li> Job ' + prem.title + ', Location: ' + prem.macro_address + ' </li>');

            });
        }
    });

在 HTML 文档中,我有一个名为#jobs 的简单 ul。此外,如果有帮助,这里是 API 端点上 JSON 的原始示例:

    {
{
"current_page":1,
"total_pages":1,
"per_page":25,
"total_count":5,
"results":[
{

"id":00001,
"title":"Job title goes here",
"macro_address":"New York, NY",
"created_at":"2016-07-22T20:54:52.526Z",
"published_at":"2016-07-22T20:54:52.526Z"},

这是我正在使用的 jQuery dist:
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js

【问题讨论】:

  • 这很难说,但我会将console.log(jobs) 放在success: function (jobs) { 行的正下方并检查console 中的内容。你可以使用Ctrl+Shift+J (Windows / Linux) 或 Cmd+Opt+J (Mac)。
  • 您好,感谢您的评论。我确实添加了这一点,但没有任何改变。数组信息在控制台中仍然可见,但输出仍然“未定义”。
  • 听起来您实际上从 API 中一无所获。我会检查您的 API 代码并确保它确实在发送数据

标签: jquery json ajax api return


【解决方案1】:

在这里取得了一点进展。我得到了返回一些结果的 API,但现在它返回数组中同一对象的多个实例。在这种情况下,我告诉它只调用数组中的第四个对象。我仍在努力,如果我自己解决了,我会发布。

    $(function () {
    var $jobs = $('#jobs');

    $.ajax({
        type: 'GET',
        url: 'https://url.com/api/api-key/jobs?status=active',
        username: 'user name',
        password: 'password',
        beforeSend: function (req) {
            req.setRequestHeader('Authorization', 'Basic ' + btoa('username:password'));
        },
        success: function (data) {
            $.each(data, function (i, jobs) {
                $jobs.append('<li> Job: ' + data.results[4].title + '</li>');

            });
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多