我几乎尝试过所有事情,但无法弄清楚这一点?
我正在使用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"}])
希望得到帮助。
提前致谢: - )
答案 0 :(得分:1)
为什么服务器添加()
?这使得JSON无效,被$.getJSON()
拒绝。
在浏览器中查看JavaScript控制台。它应该有这样的错误:
SyntaxError: Unexpected token (
这是您自己的服务器代码吗?如果是这样,您应该修复它以生成有效的JSON。
如果您坚持使用此无效的JSON格式,则应使用$.get()
或$.ajax()
代替$.getJSON()
并指定"text"
格式:
$.get( dataUrl, dataCallback, 'text' );
现在您的回调函数将以纯文本形式接收错误的JSON。因此,在dataCallback
的顶部,您可以删除多余的括号并解析剩余的JSON数据:
var data = $.parseJSON( data.match( /^\((.*)\)$/ )[1] );