需求:判断title的值是否在mongo库里存在,如果不存在就继续,存在则返回false。
代码如下:
//检测标题是否存在
var result = true;
$.ajax({
type: ‘POST’,
url: ‘APP/Home/Custorm/chkTitle’,
data: {‘title’:$(‘#title’).val()},
success: function(data){
if(data.count >= 1){
alert(‘标题已存在,请重新输入!’);
$(‘#title’).select();
result = false;
}
},
error: function(e){
console.log(e);
}
});
return result;
上述代码是有问题的,返回的result一直true;
后查到原因,是因为ajax默认是异步传输,也就是说,ajax并没有等待 success:function(data) 回调函数执行完,就已经向下执行了。于是 result的值永远只会等于其初始化的值,也就是true.
解决办法, 设置为同步传输。
//默认 async: true
//同步 async: false