请教为何ajax不执行success。用complete也不执行!
$.ajax({
type: "post",
url: "jsp/loginManager.jsp",
data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'),
dataType: "text",
success: function(data) {
alert(data);
}
});
点击登陆,成功连接数据库并且查询到了值(在loginManager.jsp页面有用System.out.print()打印过查询到的值)。但success里的东西不执行。用过断点,当执行完dataType后,success直接跳出,里面的alert()不执行,请指教这是为什么?
------最佳解决方案--------------------这说明之前数据库有被传上去,
一般是$.ajax这一步内有错,ajax没有到post这一步就错了
你可以在loginManager.jsp中做个日志看是否得到 提交的数据
如果 与form有关的话,请看看你的input用的是id还是name
一般用#的时候,请用id
------其他解决方案--------------------
loginManager.jsp不要实现跳转,你是不是跳转了.只需要用out输出数据就可以了
out.print(data);//就是客户端要的数据
------其他解决方案--------------------应该是你跳转了吧。你不要跳转了。如果用form表单的话。
------其他解决方案--------------------async:false
------其他解决方案--------------------你用的是异步提交,没等验证成功的时候已经执行了按钮的提交事件,所以页面已经刷新
改成同步提交,按钮的提交事件必须等ajax验证结束后判断是否进行提交
------其他解决方案-------------------- success: function(data) {
alert(data);
}
error: function(e) {
alert(e);
}
看看什么错误
------其他解决方案--------------------error也不会执行,直接跳过了
------其他解决方案--------------------$.ajax({
type: "post",
url: "jsp/loginManager.jsp",
async: true,
data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'),
dataType: "text",
success: function(data) {
alert(data);
},
error: function(e) {
alert(e);
}
});
这样呢?
------其他解决方案--------------------为啥呀????????还是一样,没反应,只是把登陆页面刷新了!!!!!!!!!
------其他解决方案--------------------还会刷新页面的。。。
------其他解决方案--------------------
开始把数据装在form表单里,现在把form去掉了,success会执行了!这是为什么呀?
------其他解决方案--------------------呃,先前说过了。数据是得到了的。在manager页面有打印出来。
------其他解决方案--------------------没搞jsp的路过
------其他解决方案--------------------按楼主这样说,还真是有点诡异
------其他解决方案--------------------问题不明确,请贴出调用代码!
------其他解决方案--------------------楼主改个方式试试看
data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'),