我正在使用JSON制作一个列表视图,并且成功了,但是…我在徘徊,如果有可能发送其他数据到我的页面,这是"不在一个数组"与相同的JSON调用,而不必把它们通过$each?
这是我的JSON:——EDIT——[{"menutime":"2013-04-23 19:23:42"},{"list":"menu1"},{"list":"Menu2"},{"list":"Menu3"}]
如你所见,我有3个"list",我像这样把它们放到listview中:
dataCallback = function (data) {
var content = [];
// var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
$.each(data, function (i, val) {
content.push(val.list); // GETTING ALL THE MENUS //
});
$('#games').html(content.join('')).listview('refresh');
}
我看不懂菜单时间…我该怎么做呢?
Thanks in advance:-)
---------------- EDIT ----------------
我已经试过了,就像凯文B建议的那样,但我不能让它工作?!
dataCallback = function(data){
alert("Date: "+data.menutime);
//var content = data.list.join("");
//var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
$('#userbar').html(data.profile); // FETCHING USERS DATA FOR PROFILEBAR //
//$('#games').html(content).listview('refresh');
}
在我的警报中,我得到"未定义"。
我的"jason"是这样的:
([{"menutime":"2013-04-25 15:57:50"},{"profile":"troels"}])
知道为什么这个不工作吗?
如果您可以修改服务器返回的内容,请使它返回的数据结构更适合它所包含的内容。
{
"menutime": "2013-04-23 19:23:42",
"list": ["menu1","menu2","menu3"]
}
现在你的回调可以更简单:
dataCallback = function (data) {
var content = data.list.join("");
var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
$('#games').html(content).listview('refresh');
}
您没有访问menu -
content.push(val.menutime);
你的json应该是这样的-
[{"menutime":"2013-04-23 19:23:42"},{"list":"menu1"},{"list":"Menu2"},{"list":"Menu3"}]
你可以把数组包装在一个对象中
dataCallback = function (data) {
var content = [];
// var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
$.each(data, function (i, val) {
content.push(val.list); // GETTING ALL THE MENUS //
});
var sendData = {
content :content ,
menutime:now
};
$('#games').html(sendData .content.join('')).listview('refresh');
///use sendData.menutime to get menutime
}