我被我的 JQuery Mobile 应用程序困住,试图动态填充页面的列表视图。我启动并运行它,但发现它仅在我直接请求页面(例如 mydomain.com/page.html)时才有效,当我从另一个 JQM 页面链接到该页面时,它仅在使用刷新按钮后才有效浏览器。
这是我的 JS 代码。
$(function() {
var dirs=window.location.pathname.split('/'),
current_dir =dirs[dirs.length-2];
var vars = [], hash;
var q = document.URL.split('?')[1];
if(q != undefined){
q = q.split('&');
for(var i = 0; i < q.length; i++){
hash = q[i].split('=');
vars.push(hash[1]);
vars[hash[0]] = hash[1];
}
}
alert(current_dir);
$.getJSON("../json.php",{
section: current_dir,
id: vars['id'],
query: vars['q']
},
function(json){
if (json.mededeling) {
$("#recent").append('<li data-role="list-divider" role="heading">Mededelingen<span class="ui-li-count">'+json.mededeling.length+'</span></li>');
//loop through deals
$.each(json.mededeling,function(i,item){
$("#recent").append('<li><a href="nieuws/='+item.id+
'" data-transition="slide">'+
'<h3>'+item.title +'</h3>'+
'<p>'+item.subtitle+'</p></a></li>');
});
}
if (json.nieuws) {
$("#recent").append('<li data-role="list-divider" role="heading">Nieuws<span class="ui-li-count">'+json.nieuws.length+'</span></li>');
//loop through deals
$.each(json.nieuws,function(i,item){
$("#recent").append('<li><a href="news.html?'+item.id+
'" data-transition="slide">'+
'<h3>'+item.title +'</h3>'+
'<p>'+item.subtitle+'</p></a></li>');
});
}
if (json.onderwijs) {
$("#recent").append('<li data-role="list-divider" role="heading">Onderwijs vandaag<span class="ui-li-count">'+json.onderwijs.length+'</span></li>');
//loop through deals
$.each(json.onderwijs,function(i,item){
$("#recent").append('<li><a href="onderwijs/index.html?'+item.id+
'" data-transition="slide">'+
'<h3>'+item.title +'</h3>'+
'<p>'+item.speaker+'</p></a></li>');
});
}
$("#recent").listview('refresh');
});
});
所以我猜想这与 JQM 的 AJAX 调用有关。
我进行了广泛的搜索,但现在我真的迷路了。
非常感谢任何让我回到正轨的帮助!
谢谢