API调用导致" undefined"返回

时间:2016-12-24 03:55:42

标签: jquery json ajax api return

基于下面的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

1 个答案:

答案 0 :(得分:0)

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

    $(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>');

            });
        }
    });
});

enter image description here