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(),頁面仍呈現然後轉發..不知道如何解決該問題。 –