我是jQuery的新手,现在在App初始化时从服务器上的json-File请求数据。我正在使用带有jQuery的Intel XDK。 完整脚本的代码就在这时:
<script type="text/javascript">
// Helper Functions
String.prototype.format = function() {
var args = arguments;
return this.replace(/\{(\d+)\}/g, function (m, n) {return args [n]; });
};
// Page init Handler
$(document).bind('pageinit', function (event) {
var page = event.target.baseURI.split('/');
page = page[page.length -1];
if (!App.initialized) {
App.initialized = true;
App.init();
}
switch(page){
case 'index.html':
break;
case 'maps.html':
break;
case 'agenda.html':
Agenda.init();
break;
case 'travel.html':
break;
}
});
var App = {
initialized: false,
agenda: null,
init: function (){
this.cacheAgenda();
},
cacheAgenda: function() {
var me = this;
var url = "http://myurl/batteries1-4.json";
$.getJSON(url, function(data1){
//Sort data by Talk
data1.sort(function(a,b){
return (a.Title < b.Title) ? -1 : (a.Title > b.Title) ? 1 : 0
})
me.agenda=data1;
console.log(data1);
});
}
};
//Agenda Objects
var Agenda = {
init: function() {
this.populateList();
},
populateList: function(){
var talk_list=$('#li_Talk > ul');
talk_list.empty();
var TalkTemplate=$("#tplTalkItem").html();
for (var i=0; i<App.agenda.length; i++){
var item = App.agenda[i];
talk_list.append(
TalkTemplate.format(
item.Time_tag,
item.Time,
item.Title,
item.Author
)
)
};
talk_list.listview("refresh");
}
}
</script>
当我在模拟器设备上运行代码时,它运行得非常好。 App.agenda显示了一个我可以使用的数组。 Wehen我在Android或iOS App.agenda上运行已编译的应用程序不包含任何数据,调试器不会显示错误。 知道如何让代码工作吗?
PS:我已经编写了与this教程相对应的代码。