Я знаю, что этому вопросу больше года, но вот мои два цента.То, что я сделал, - это форма JQuery Mobile, которая выглядит следующим образом:
<form method="PUT" action="api/auth" data-ajax="false">
<label for="login_username">Username:</label><br>
<input type="text" name="login_username" id="login_username" /><br>
<label for="login_password">Password:</label><br>
<input type="password" name="login_password" id="login_password" /><br>
<button id="login_submit" type="submit" data-theme="a">Submit</button>
</form>
Затем функция для перехвата нажатия кнопки «Отправить»:
$(document).ready(function() {
$("#login_submit").click(function(event) {
event.preventDefault();
var credentials = { type: 'EMAIL', username: $('#login_username').val(), password: $('#login_password').val() };
$.ajax({
type: "PUT",
url: "api/auth",
cache: false,
data: JSON.stringify(credentials),
contentType: "application/json; charset=utf-8",
success: function(data) {
//validate the response here, set variables... whatever needed
//and if credentials are valid, forward to the next page
$.mobile.changePage($('#main_menu'));
//or show an error message
},
error: function() { // server couldn't be reached or other error }
});
});
});
Конечно, это должно идти по HTTPS.В моем случае я проверяю с помощью службы REST на стороне сервера.Например, вы можете вернуть 403, если учетные данные неверны.Затем вы перенаправляете с помощью $ .mobile.changePage () на страницу в том же DOM или на другой URL.