私の研究終了プロジェクトのWeb Spring MVC 4アプリケーションで作業中です。アプリケーションはウェブとandroidのクライアントに接続する必要があります。JQueryでログの失敗と404をキャッチしようとしています
私は@RestController
を使用して、アンドロイドアプリがjson経由で簡単に通信できるようにしました。私は接続の失敗をキャッチしようとしていますex:ウェブアプリケーションでも、Webアプリケーションであっても、私はAjaxを介してサーバーとほぼすべての通信を行い、ユーザーをよりリラックスさせることを望んでいました(プログレスバー、ライブ情報のヒント。 ..)しかし、jQueryのevent.preventDefault()
を使用した後の国の問題の1つに、次のアクションや応答ページが読み込まれて見えなくなってしまいます。例えばここに私のログインページの例である:
login.js
jQuery(document).ready(function ($) {
$("#login-form").submit(function (event) {
//Do somthing...
// Call login function
logViaAjax(event);
// Prevent the form from submitting via the browser.
return false; //Or using event.preventDefault()
});
});
// logViaAjax function
function logViaAjax(event) {
var logObj = {};
logObj["username"] = $("#username").val();
logObj["password"] = $("#password").val();
//the response
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
url: "/login",
data: logObj,
dataType: 'text',
timeout: 10000,
success: function (data) {
if (data.indexOf("login-box") !== -1) {
showLogFail();
}else{
window.location.reload();
//I dont need to reload the page because this gives me login page again... May be if there is a way to get the URL from data!?
}
},
error: function() {
showWarning();
}
});
私は真偽を処理するためにSpring Security 4
を使用していますし、我々はそれがURLの元を与えることを知っている:失敗の/login?fail
と要求しますページが成功すれば、私は最近loginUrlに入る前にリダイレクトすることを知っていました。私の元/login
。ユーザーがサーバー側にログインしてjson応答を送信したかどうかをテストしようとしましたが、ログインを要求する前にページが失われる可能性があります。
は、私は、URLのjQueryにロードされた(しかし示したではないが)?fail
が含まれているか、いない場合、私は、ログまたはパスワードを変更するようにユーザーに通知するために、success
: function()
にテストするべきだと思います。それ以外の場合は、ページのユーザーの必要性がバックに請求され、必要なものはすべて表示することです。それらのほとんどの変更後
UPDATE
私が作るために必要なものすべてがちょうどログインページを超えるページを維持し、それを再表示することです。この機能はSpring Securityによって自動的に提供されますが、バックグラウンドで実行されています。私の場合は元のユーザクリック/messenger
アプリは、彼はそれが再び/messenger
に彼を送って、正常にログイン他に、それは/login?fail
を与えるが、このページが原因jQueryのに見えないされるログイン彼が失敗した場合、ログインする/login
に彼をリダイレクト...
この試みは助けにはならない、あなたはフラグについてよろしいですか?それは私のために意味がないように見える。私はあなたが何かを忘れたと思う... –
@MalekBoubakri私はデモのフィドルを追加しました。それを見てください。 –
私はそれをチェックします。あなたは私がする必要があるものを得ることはできません、あなたのアイデアを慎重に最後の更新を慎重にチェックしてください。再度ありがとう@RinoRaj –