如何在外部调用ajax返回的值

问题描述:

  $.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{...}
})

发表评论

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