2012-04-18 18:06:37|?次阅读|上传:wustguangh【已有?条评论】发表评论
关键词:JavaScript, JQuery, Web|来源:唯设编程网
最近在做项目时,需要使用Ajax获取Session中的用户信息,并根据返回结果判断用户是否具有执行提交操作的权限,发现始终无法获取用户信息,折腾半天,最后发现问题出现的原因是:JQuery默认采用异步方式进行提交!所以在没有等到服务器端返回结果时,函数已经返回了,无法得到用户信息的原因算是找到了,但是这个问题怎么解决呢?
如果可以让函数阻塞,直到服务器端返回结果时才继续执行,这个问题便可以轻易解决,JQuery实现Ajax提交数据的基本方法如下:
$.ajax({ type:'POST', beforeSend:function(){}, async:false, url:'', data:'', dataType:'html', error:'', success:'' });
在这里,我们重点关注参数:async,如果不显示定义这个参数,默认异步提交(async=true),如果需要同步提交,将async显示定义成false!
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。