0
我正在使用jquery打彈簧控制器,並在登錄頁面上根據控制器響應顯示消息給最終用戶。在這裏,我只考慮登錄失敗。我想向用戶顯示登錄失敗的消息。我寫了一些Ajax代碼。jquery無法在fire狐狸中表現得很好
奇怪的是,這個ajax代碼對於crome瀏覽器來說工作正常,但在fire fox的情況下會失敗。任何機構都可以告訴我我有什麼要實現相同的功能。所以它成爲瀏覽器獨立。
Ajax代碼是在這裏
<script type="text/javascript">
function doAjaxPost() {
// get the form values
$.ajax({
type: "POST",
url: $("#login-form").attr("action"),
success: function(response){
$('#sign-up').html(response);
},
error: function(e){
alert('Error: ' + e);
}
});
event.preventDefault();
}
</script>
春天控制器代碼是在這裏:
@RequestMapping(value = "/sign-in", method = RequestMethod.POST)
public @ResponseBody String submitCustSignInForm(@ModelAttribute("model") Person model,
HttpSession sess) {
String response = "";
Person person = null;
if (sess.getAttribute("USER_INFO") == null) {
person = tsService.login(model);
if (person == null) {
response = "User name or password does not match.";
} else {
response = "success";
sess.setAttribute("USER_INFO", person);
}
}
return response;
}
在這兩種情況下,阿賈克斯查詢命中控制器,但是在克羅姆的情況下,保持在同一頁面,並顯示錯誤信息。但在Firefox的情況下,它移動到另一個空白頁面,然後打印消息。
我在想什麼可能是在firefox case「event.preventDefault();」不能停止形式
HTML表單的作用是在這裏:
<form class="aui login-form"
method="post" id="login-form" onsubmit="doAjaxPost()">
</form>
表單代碼是長一點,以便不給整個代碼。
感謝您的快速回復。 –