jquery中ajax异步时序问题
今天写代码中要保存ajax请求的数据,代码如下:
var changedid = null;
$.get('user/getdepartment','',function(data){changedid=data;},'json');
alert(changedid);//null
结果发现changedid没有保存data,javascript的作用域也没有错啊?通过请教别人知道了问题的原因:异步调用时序问题。
于是换成$.ajax:
var changedid = null;淘宝女装夏装新款
$.ajax({
url: 'user/getdepartment',
type: 'get',
async: false,
dataType: 'json',
success: function(data){
changedid = data;
}
});
async Boolean
(默认: true) 默认设置下,bulldog所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。