有很多關於這個的話題,但是他們沒有任何幫助。 一切工作正常,數據被插入到數據庫中,並且(我使用spring mvc作爲後端),我的控制器也正確處理所有事情。Ajax返回狀態碼200,成功功能不觸發
Ajax-code;
$.ajax({
type: "POST",
url: "http://localhost:8080/NotePath/register",
data: "email=" + email + "&password=" + password + "&name=" + name,
succes: function(response){
$("#formMail, #formPass, #formUsername").val("");
$("#loginRegister, #whiteBg").fadeOut();
},
error: function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
}
});
控制器代碼;
@RequestMapping(value = "/register")
public @ResponseBody String registerUser(@RequestParam(value = "email") String email, @RequestParam(value ="password") String password,
@RequestParam(value = "name") String name, Model model){
String status = "";
Boolean isEmailTaken = registerServiceImpl.isEmailTaken(email);
Boolean isNameTaken = registerServiceImpl.isNameTaken(name);
if(isEmailTaken == false && isNameTaken == false){
try {
registerServiceImpl.registerUser(email, password, name);
status = "Succes";
} catch (Exception e) {
status = "Error";
e.printStackTrace();
}
}else if(isEmailTaken == true){
status = "mail taken";
}else if(isNameTaken == true){
status = "name taken";
}
return status;
}
我甚至試過返回responseEntity;
return new ResponseEntity<String>(status, respHeader, HttpStatus.OK);
當我看着我的響應頭(使用谷歌Chrome瀏覽器)甚至說:「郵件採取」或「名義採取」或什麼信息應該出現的。但由於某種原因,阿賈克斯成功功能沒有被觸發...
奇怪的是,我有其他的Ajax調用沒有任何問題的工作。
我想獲得的200狀態碼意味着一切......嗯.... OK:P
'success'不'succes' ... –
'更迭:功能(響應){'應該是'成功:函數(響應){'。所以基本上,你沒有正確註冊回調。 – melihcelik
我的天啊......我一直堅持了4個小時。 Thnx傢伙! – Jack