由于ajax是异步的,因此按照常规的写法,即便验证返回了false,表单也会被submit。ajax
须要进行以下设置异步
function checkDate() { var result = true; //定义返回标识 $.ajax({ async: false, //设置为同步 type: "post", url: "/Mall/Channel/CheckChannelDate", data: { startDate: $("#PayStartTime").val() }, success: function (data) { if (data != 'ok') { alert(data); result = false } } }); return result; //在ajax方法外层返回true or false }