jquery中使用ajax的同步异步问题

来源:互联网 发布:放牛班的春天音乐知乎 编辑:程序博客网 时间:2024/06/04 17:58
<script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(function(){$("#bt").click(function(){var s=checkcode(5);alert(s);})function checkcode(i){var returnValue;var options={type:"get",url:"test.php",async:true, dataType:"html",success:function(result){if(result==123)returnValue=1;}}$.ajax(options);return returnValue;}})</script><input type="button" id="bt"/>

其中,test.php的代码如下:

<?phpecho 123;?>

默认情况下,使用ajax的方式是异步的,所以说,在jquery向test.php发出连接请求时,会同时执行return returnValue这条语句,因此,返回的是空,而当async的值设置为false后,会使用同步的方式,在等待其完成请求,执行success方法后才会接着执行return returnValue这条语句,因此,这个时候能够得到返回值。

原创粉丝点击