问题描述:

$.get("url",function(data){
// 如何把data返回到外部使用呢?
});


第一种方法:全局变量赋值

var reData = null;
$.get("url",function(data){
reData = data;
});
console.log(reData);// null
//此时你会发现并没什么卵用
//因为ajax是异步执行的 所以全局变量要延迟调用才能取到值 如下:
setTimeout(function(){
console.log(reData);// object{...}
},200)

上面的方法虽然可以拿到值,但是太low了

第二种方法(推荐)

//定义一个函数把请求代码包裹起来
function getData(callback){
$.get("url",function(data){

//以传参的形式把ajax返回的值传给回调函数
callback(data);
});
})

//使用
getData(function(data){
console.log(data);// object{...}
})

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code