2013-10-25 61 views
1

我正在接受培訓,我的任務是使用jQuery從外部JSON站點獲取數據。我正在使用一個Singleton類來這樣做。數據將在初始化期間從this site獲取,數據將作爲屬性添加到類中。作爲一個提示,我被告知使用回調函數來確保數據被提取。這link顯示了我到目前爲止的想法。我在html上運行這個腳本(加載jquery),我沒有得到任何結果。我不確定我的jQuery代碼是否正確。使用jQuery從外部JSON站點獲取數據,Singleton類

任何建議/指導,非常感謝。

謝謝。

回答

0

有很多使用jquery通過http訪問api的例子。一個例子是:

$.getJSON("ajax/test.json", function(data) { 
    var items = []; 
    $.each(data, function(key, val) { 
     items.push("<li id='" + key + "'>" + val + "</li>"); 
    }); 
    $("<ul/>", { 
     "class": "my-new-list", 
     html: items.join("") 
    }).appendTo("body"); 
}); 

http://api.jquery.com/jQuery.getJSON/

什麼問題,你用一個Singleton解決?爲什麼你需要執行一個類的單個實例?

+0

有人問我。這是一項任務。 感謝您添加示例。我之前和其他人一起嘗試過沒有結果。我現在得到了結果。謝謝我會從這裏拿走它! –

1

您的腳本正在工作,問題在於警報超出了ajax成功回調的範圍,所以您沒有看到它。

jQuery.ajax({ 
      type: "GET", 
      url: feedurl, 
      dataType: 'json', 
      data: 'data', 
      success: function(data) { 
       object = data; 
      } 
     });  alert(object); 

這應該是:

jQuery.ajax({ 
      type: "GET", 
      url: feedurl, 
      dataType: 'json', 
      data: 'data', 
      success: function(data) { 
       object = data; 
        alert(object); 
      } 
     }); 

有關的信息,你可以做同樣的事情,只有:

$.getJSON('http://freegeoip.net/json/', function(data) { 
    alert(data); 
}); 
+0

我將警報轉入jquery段。我仍然通過[對象對象]得到警報窗口。這是預期的嗎?我以爲我會從該json站點獲取字符串。我錯過了什麼嗎? –

+0

是的。使用'console.log(object)'在developper控制檯中查看'object'的內容(F12來激活它) – RafH