1
我正在开发一个jQuery Mobile的网站,是只提供给已登录的用户jQuery Mobile的安全页面
我有一个检查一个服务器功能的登录状态:
function checkLogin() {
$(function() {
$.getJSON(root_url + 'manageUsers/checklogin/?callback=?', null,
function (data) {
if (data.logged == 'false') {
$("#index_Container").html("<h2>Login Required</h2></div><p>We've noticed you're not logged in, please login to use this app.</p><p><a href='login.html' data-role='button'>Click here to login</a></p>").trigger('create');
$.mobile.changePage('login.html');
} else {
$(".logged_in").text(data.username);
$(".logged_in").addClass('logout');
$(".header_div").trigger('create');
}
});
});
}
我似乎无法弄清楚如何实现这个,所以每次索引页面被加载和任何其他页面加载这是在呈现页面上的其他任何东西之前触发。目前,该页面将加载并显示HTML,然后执行$ .mobile.changePage('login.html'):
编辑:如果任何人有任何想法如何以更好的方式实现这我会很想知道,在应用程序中的每个页面要求用户在登录。
我可以只加载登录页面,而不是插入文本? - 这也适用于最初的“index.html”页面吗? –
在答案中增加了一个小提琴,使事情更清晰 – Romain
我遇到的问题是,如果我在$ .getJSON调用中调用event.preventDefault(),页面仍呈现然后转发..不知道如何解决该问题。 –