我很难回来。
我需要,如果回复“ok”,我的表单将被提交,否则文档将无法重新加载。
我尝试过这样:
$(window).load(function(){
$('.check-connection').click(function(){
u = {};
u["host"] = $('[name="host"]').val();
u["db_user"] = $('[name="db_user"]').val();
u["db_pass"] = $('[name="db_pass"]').val();
u["db_name"] = $('[name="db_name"]').val();
$.post('check-connection.php',{secure:true,data:u}).done(function(r){
if(r == "ok"){
/*
here problems even returns ok
alert(r); - gives answer ok if trying to check..
*/
return true;
} else {
alert(r);
return false;
}
});
return false;
});
});
有什么想法吗?提供?
答案 0 :(得分:0)
您可能想删除最后一个return false;
,因为它在ajax完成之前返回。
让它在执行.done()
处理程序时返回。
答案 1 :(得分:0)
你不能从ajax done函数中返回一个布尔值,并期望它被传递回click处理程序。 ajax是异步的,因此click处理程序将在收到ajax响应之前完成执行。
逻辑应该是:按一下按钮调用ajax(不是表单提交),然后从ajax成功处理程序中提交表单,否则不做任何事情。