2013-04-28 33 views
1

我已經嘗試了幾乎所有的東西,但不知道這一點?從jQuery JSON獲取具體的數據到變量

我使用JSON爲我的HTML應用程序創建了一個列表視圖,這部分工作得很好。但是在同一個JSON調用中,我希望能夠發送其他數據以及我可以將其放入一些變量,但是不成功。

這裏就是我想:

dataUrl = 'http://mypage.com/playermenu.php?callback=?&userid=' + userid, 
dataCallback = function(data){ 
    //var content = data.list.join(""); 
    //var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE // 
    alert("Date: "+data.menutime); 
    $('#userbar').html(data.profile); // FETCHING USERS DATA FOR PROFILEBAR // 
    $('#games').html(content).listview('refresh'); 
} 

$.getJSON(dataUrl, dataCallback); 

上述提醒給出:日期:未定義

我的JSON是這樣的:

([{"menutime":"2013-04-28 15:00:50"},{"profile":"troels"}]) 

盼望這方面的幫助。

在此先感謝:-)

回答

1

爲什麼服務器添加()?這使得JSON無效,這被拒絕$.getJSON()

查看瀏覽器中的JavaScript控制檯。它應該有這樣的錯誤:

SyntaxError: Unexpected token (

這是您自己的服務器代碼?如果是這樣,你應該修復它以產生有效的JSON。

如果你堅持使用這種無效的JSON格式,那麼你應該使用$.getJSON()$.get()$.ajax()代替,並指定"text"格式:

$.get(dataUrl, dataCallback, 'text'); 

現在你的回調函數將收到的不良JSON作爲純文本。因此,在dataCallback的頂部,您可以刪除多餘的括號並解析剩餘的JSON數據:

var data = $.parseJSON(data.match(/^\((.*)\)$/)[1]);