2016-12-24 64 views
0

基於以下JavaScript,我使用Ajax通過API調用特定數據。它使用用戶名和密碼進行身份驗證。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。此外,如果它是有幫助的,這裏是JSON的在API端點原始樣本:

{ 
{ 
"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的距離:
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js

+0

這是非常艱難地告訴,但我會把'的console.log(工種)'正下方的'成功:函數(工種){'線,並檢查它在[控制檯說: ](https://developers.google.com/web/tools/chrome-devtools/console/)..您可以使用Ctrl + Shift + J(Windows/Linux)或Cmd + Opt + J(Mac)。 – adriancarriger

+0

嗨,感謝您的評論。我確實補充說,沒有改變。數組信息在控制檯中仍然可見,但輸出仍爲「未定義」。 – Armbone

+0

這聽起來像你真的從你的API沒有得到什麼。我會檢查你的API的代碼,並確保它真的發送數據 – adriancarriger

回答

0

了一個小的進步這兒過得得到了API返回一些結果,但現在它返回數組中同一對象的多個實例。在這種情況下,我告訴它只調用Array中的第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