rentianchou 发表于 2013-1-29 11:53:23

js在ajax提交时不会等待返回值

function validataUnFinish(){var t = "";var t1 = "";$(":checkbox").each(function(i){t = t+$(this).attr("value")+",";});if(t!=""){alert("进入ajax内部");$.post("ajaxValidateUnFinish",{"indexRoomIndexs":t},function(data){if(data!=null&&""!=data){t1 = data;alert(data+"????"+t1);}});}alert("ccc");if(t1!="")return false;return true;} 如代码所示,我的目的是找出多选按钮,然后活得里面的值,传到后台。后台根据传过来的值来判断是否符合条件并返回结果。开始以为js是从上到下执行,所以会先执行回调方法。然后在执行alert("ccc")。后来尝试发现总是先alert("ccc"),然后在不定时alert回调函数返回的数据。想了想,其实js是单线程的,在执行ajax提交后它并不会保证接受到返回值才执行下面的方法体,因为你返回值是不确定何时返回的。所以执行变相解决问题了。
页: [1]
查看完整版本: js在ajax提交时不会等待返回值