当我在JQuery中使用ajax时,我遇到了一些问题。 让我解释一下:用户输入登录名,密码,姓名,电子邮件......我使用servlet创建用户帐户。
$(function(){
$("#subinsc").click(function(){
var nom=$("#nom").val();
var prenom=$("#prenom").val();
var email=$("#email").val();
var login=$("#login").val();
var password1=$("#pass1").val();
var password2=$("#pass2").val();
//verif_form_inscription just check if login and password are ok.
var ok=verif_form_inscription(login,password1,password2);
if(ok){
$.ajax({
type:"get",
async:false,
url: "HERE IS THE CREATEACCOUNT SERVLET",
data: {mail : email,login:login,password:password1,nom:nom,prenom:prenom},
success:function(res){
alert("ok");
$(document).ready(function(){
$("#popup").show(800);
$("#insc").replaceWith(jQuery("#popup"));
});
},
error:function(res){
console.log(res);
alert("fail servlet");
}
})
};
});})
servlet总是“工作”,用户在屏幕上的数据库,但是我有.fail警报,而不是成功警报和#popup div说“欢迎,你的注册”。
以下是形式应用:
<form id="insc" method="get" action="">
提交应答:
<input type="submit" value="SIGN UP" id="subinsc"/>
如果有人能帮助我...... 在此先感谢:)
编辑:解决了。答案 0 :(得分:2)
您正在混合callback
和deferred
以这种方式写作
$.ajax({
..,
success:function(){
alert("Ok, succeed");
..
},
error : function(){
alert("Fail createuser");
}
})
OR
$.ajax({
...
})
.done(function() {
alert("succee");
}).fail(function() {
alert("Fail createuser");
})