基于下面的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
答案 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>');
});
}
});
});