2011-12-13 16 views
0

有很多關於getJSON的問題,但我無法找到我的問題的答案。我有這個簡單的代碼:.getJSON()函數內部的代碼不會觸發

$.getJSON("ashx/GetVote.ashx?id=" + recordID, function (data) { 
    $("#kg-VoteAvg-" + recordID).html(data.VoteAvg); 
    $("#kg-VoteCount-" + recordID).html(data.VoteCount); 
    alert("sth"); 
}); 
  • 在Firebug控制檯,我看到一個請求發生。
  • 發送參數「id = 2」。這是recordID是2.
  • 有效的JSON返回:{VoteAvg:'1', VoteCount:'1'}
  • 我還通過FireBug控制檯驗證$("#kg-VoteAvg-" + 2).html(1);的作品。

但是,我函數內的代碼行既不會觸發也不會提供錯誤。我在哪裏做錯了?我可以使用.ajax()函數,但想知道爲什麼我的警報或其他.getJSON()函數不起作用。

+0

你說「不開火」,它顯示警報? (沒有別的相關它沒有。)如果它確實如此,你可能有興趣將它改爲:alert(「sth」+ recordID)`,如果這顯示了一個可疑的值,搜索SO爲什麼。 – 2011-12-13 21:52:38

+0

您是否嘗試過回調函數內的console.log(recordID)以查看該變量是否可訪問?這聽起來像你有一個可變範圍問題。 – dSquared 2011-12-13 21:54:37

回答

4

的JSON是無效的,你需要返回

{"VoteAvg":1, "VoteCount":1} 

http://json.org/規定,JSON結構需要用雙引號括鑰匙。