javascript ajax 回调函数req.status == 200不执行
我写了个验证用户名和邮箱是否被使用的ajax验证。结果能去Servlet,并且经过查询数据库后输出正确的XML数据(Y表示已经使用)<msg><username>Y</u...
我写了个验证用户名和邮箱是否被使用的ajax验证。
结果能去Servlet,并且经过查询数据库后输出正确的XML数据(Y表示已经使用)
<msg><username>Y</username><email>Y</email></msg>
然后调试发现,回调函数if(req.readyState == 4)能进去,但if(req.status == 200)就是进不去,这是为什么了,高手们遇到过这种情况吗? 展开
结果能去Servlet,并且经过查询数据库后输出正确的XML数据(Y表示已经使用)
<msg><username>Y</username><email>Y</email></msg>
然后调试发现,回调函数if(req.readyState == 4)能进去,但if(req.status == 200)就是进不去,这是为什么了,高手们遇到过这种情况吗? 展开
1个回答
展开全部
req.readyState == 4说明ajax成功的返回了,等于200时候就是要从后台把要打印出来的东西给调回前台,不一定要=200,不同浏览器值不一样 你可以这样:
if((req.status >= 200&&req.status<=300) || status==304 )
if((req.status >= 200&&req.status<=300) || status==304 )
更多追问追答
追问
我是在改以前的系统,它通过onsubmit方法检查表单,其中有一个标记mark,有不符合要求的就mark=false;
现在我增加ajax检测用户名和邮箱,流程大概是这样的:
正则表达式的一些检查;
checkUsed(form);//是不是执行到一半还没回调,就去执行后面的了,最后return了?
........
return mark;
ajax执行的函数function checkUsed(form) {
}
回调函数function callback() {}
追答
我说过了,=4说明已经回调成功了。问这句话干什么?-》“是不是执行到一半还没回调,就去执行后面的了,最后return了?”
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询