Это не совсем то, о чем вы просили, но вы можете переработать поток своего кода, чтобы упростить это для себя.
Обработайте отправку формы входа самостоятельно, затем перенаправьте пользователя на нужную страницу, основываясь на ответе сервера:
$(document).delegate('#login', 'pageinit', function () {
function loginSuccess (serverResponse) {
$.mobile.hidePageLoadingMsg();
//here you check the `serverResponse` and direct the user where they need to go
}
function loginError (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
$(this).find('form').bind('submit', function () {
$.mobile.showPageLoadingMsg();
$.ajax({ url : '<url>', data : $(this).serialize(), success : loginSuccess, error : loginError });
return false;
});
});
Вам также необходимо добавить data-ajax="false"
в качестве атрибута к тегу <form>
, чтобы jQuery Mobile не обрабатывал отправку для вас.