ajax方式校验return false后代码仍然执行
$.ajaxSettings.async = false;
$.get("{% url 'user:checkdep' %}" + '?depname='+$('#depname').val(), function(result){
if(result.res){
alert("区域名称已存在,请重新输入");
return false;
};
});
alert('仍然执行这里');
原因是不能在ajax的回调里return false。解决方法是在全局中定义变量flag,回调中改变flag,然后再在ajax外部根据flag决定是否return false
var flag=true;
$.ajaxSettings.async = false;
$.get("{% url 'user:checkdep' %}" + '?depname='+$('#depname').val(), function(result){
flag=result.res
});
if(flag){
alert("xxxxxxx");
return false;
}