【发布时间】:2014-07-21 23:02:52
【问题描述】:
我发现了很多关于如何将页面内容动态加载到 div 中的问题/答案,但是我无法加载。
基本上,我正在创建一个 web 应用程序,在单击主页(索引)上的按钮时,它会调用第二个页面(check.html)。在加载该页面之前,我正在对返回 json 对象的服务器进行 ajax 调用,然后使用该对象生成一个表。 (请看下面的代码。
然后问题是,当我点击时,我进入页面(check.html)但内容没有加载,然后当我刷新时,所有内容都被加载了。
我知道这与在页面显示之前加载数据有关,但我无法让它工作。我已经尝试了很多 jquery 函数(在准备好文档时,在加载时,但都没有工作)。
任何帮助都将不胜感激。
$(document).on('pagebeforeshow', '#checkPage', function(){
//validate if the user has entered/save his email address
if (localStorage.getItem("email") === null){
$('#noEmail').show();
$('#issues').hide();
}else{
$('#noEmail').hide();
$('#issues').show();
var email = localStorage.getItem("email");
//ajax call to a server to get the json data
$.ajax({
url: 'http://landlord.tenantconnectapp.co.uk/webapp/issues.php',
type: 'POST',
data: {email: email},
beforeSend: function() {
$.mobile.showPageLoadingMsg(true); // This will show ajax spinner
},
complete: function() {
$.mobile.hidePageLoadingMsg(); // This will hide ajax spinner
},
success: function (result) {
var data = $.parseJSON(result)
var count = data.length;
$("#count").append(count);
var tbl_body = "";
$.each(data, function (index, issue) {
var tbl_row = "";
tbl_row += '<th><a href="issue.html" onclick="sessionStorage.ID='+issue['id']+'">'+issue['id']+'</a></th>';
tbl_row += "<td>"+issue['createdDate']+"</td>";
tbl_row += "<td>"+issue['status']+"</td>";
tbl_row += "<td>"+issue['reason']+"</td>";
tbl_row += "<td>"+issue['summary']+"</td>";
tbl_body += "<tr>"+tbl_row+"</tr>";
});
$("#issuesTable tbody").append(tbl_body);
$("#issuesTable").trigger("create");
$("#issuesTable").table("refresh");
},
error: function (request,error) {
toast('Network error has occurred please try again!');
}
});
}
});
【问题讨论】:
标签: jquery ajax html jquery-mobile