ajax返回的数据赋值给其它js变量

有的时候,我们在前台通过jquery的$.ajax()向后台请求了一些数据,例如返回了JSON格式的数据,我们在ajax的success(data, textStatus, jqXHR)方法中试图将返回的数据赋值给其它js的变量,之后我们在使用js变量时,却发现变量值为:null,其实,这是因为$.ajax() 默认是使用异步的请求方式。很可能是在使用变量时,其实$.ajax()并未完成。我们只需要将$.ajax()设置为同步方式:async;false

例如以下代码:

var data = null;
$.ajax({
type: "GET",
dataType: 'JSON',
url: '/getServiceJson',
data: {'sid': sid},
async:false,//注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行
success: function (msg) {
data=msg;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("XMLHttpRequest:" + XMLHttpRequest + ",textStatus:" + textStatus + ",errorThrown:" + errorThrown);
}
});
alert(data);

这将可以使用data对象;

转载请注明:6K & 3o » ajax返回的数据赋值给其它js变量

评论:

加油,支持!

回复 取消回复

厉害,厉害,文盲看不懂呀

回复 取消回复

留下你的评论: