2013-04-28 42 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]);