【发布时间】:2016-03-15 19:23:35
【问题描述】:
我在 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"/>
如果有人可以帮助我... 在此先感谢:)
编辑:已解决。
【问题讨论】:
-
您是否检查了网络选项卡以分析 ajax 调用的响应?
-
我试图分析做console.log(res)(显然,这里res是一个对象),我有关于Ajax的东西,但我不知道如何分析。
-
API 类似于 jqXHR.done(function( data, textStatus, jqXHR ) {}) 和 qXHR.fail(function( jqXHR, textStatus, errorThrown ) {})。您可以从 jqXHR.status 获取状态码
-
您使用什么浏览器进行测试?我知道一些最新版本的 Chrome 不允许 async: false。
-
我正在使用 Mozilla。我不知道它是否有帮助,但是当我分析时,我有 readyState:0, Status:0 StatusText: [Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: @987654321 @ :: .send :: 第 4 行“数据:无]。
标签: javascript jquery html ajax servlets