我揭开了Ajax的红盖头之二~Ajax异步~
上次整理了下ajax的$.get,$.post,$.getJSON这三个函数,Ajax都是异步的,那么今天就简单的说说异步这个事儿吧~~ <script> $(function() { $.getJSON('data.json',function(json) { alert('用户名是:'+json.username); alert('说的话是:'+json.text); }); alert(1); }); </script>猜猜那个会先执行? 看,为什么alert(1)会先执行,是因为 Ajax 要通过网络去请求data.json 这个文件,当请求成功并返回结果的时候才会调用回调函数,也就是getJSON 里面的function,那么这个时候alert(1)已经先执行,来个图让你们看的更明白点 OK,我们再来看看$.get和$.getJSON有什么不同,按照之前写的比较一下就可以发现了,$.get 返回的其实是一个字符串,那么$.getJSON 呢? 返回的是一个JSON 对象,接着上面的代码,如果我把$.getJSON 的请求地址改成2.html 会发生什么呢?来,咱们实践下,发现了吗,只执行了alert(1),后面的没有再执行了,这是为什么呢,因为出错了,2.html 返回的并不是一个json对象,那么getJSON会认为这是一个错误的请求,那既然出错了,我们不能让用户觉得系统一点反应都没有,这样不好对吧,我要给用户一个提示,告诉他操作出错了,我们再改写一下:
<script> $(function() { $.getJSON('2.html',{'hello':'啊啊啊!'},function(json) { alert('用户名是:'+json.username); alert('说的话是:'+json.text); }).fail(function(){ alert('请求出错了!'); }); }); </script> 运行之后呢 发完之前的Ajax之后,发现自己还是米有睡意~~所以就想着把剩下的也整理出来再去睡~~嘿嘿~ 师父呀,你教我的Ajax我都整理完咯~~接下来我会整理出来lesscss和jade的~~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |