如何将Ajax回调获得的数据传递给其它函数

 我来答
码农小明哥
2017-05-19 · 互联网程序员一枚,欢迎交流
码农小明哥
采纳数:9602 获赞数:25062

向TA提问 私信TA
展开全部

ajax成功回调的函数返回的数据在回调函数的参数里,直接将参数赋值给其他变量就可以实现回调获得的数据传递给函数外的变量,进而可以供其他的函数使用该数据。

工具原料:编辑器、jquery

1、实现的最简单的思路之一是在函数外定义一个变量,在ajax的成功回调函数中将回调函数的参数赋值给该变量,然后即可实现在其他函数里使用该变量即ajax回调返回的数据。

2、代码的示例如下:

script>
var value='';
$.ajax({
type:"post",
url:"test.php",
async:true
success:function(data){
value=data;//返回的数据赋值给全局变量
    }
    });
function(){
console.log(value);//使用该变量即ajax回调返回的数据
}
</script>

3、当然还可以使用回调函数里调用其他的函数,返回结果以参数形式传给其他的函数等方案。

jack_wang0823
2016-12-12 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1429万
展开全部

回调函数

如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。

beforeSend

在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。

error

在请求出错时调用。传入 XMLHttpRequest 对象,描述错误类型的字符串以及一个异常对象(如果有的话)

dataFilter

在请求成功之后调用。传入返回的数据以及 "dataType" 参数的值。并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。

success

当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

complete

当请求完成之后调用这个函数,无论成功或失败。传入 XMLHttpRequest 对象,以及一个包含成功或错误代码的字符串。

var aj = $.ajax( {    
    url:'productManager_reverseUpdate',// 跳转到 action    
    data:{    
             selRollBack : selRollBack,    
             selOperatorsCode : selOperatorsCode,    
             PROVINCECODE : PROVINCECODE,    
             pass2 : pass2    
    },    
    type:'post',    
    cache:false,    
    dataType:'json',    
    success:function(data) {  //这里的data 就是读取的数据   
        if(data.msg =="true" ){    
            // view("修改成功!");    
            alert("修改成功!");    
            window.location.reload();    
        }else{    
            view(data.msg);    
        }    
     },    
     error : function() {    
          // view("异常!");    
          alert("异常!");    
     }    
});
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桂哥的点滴
2016-12-12 · 关注教育,产品,互联网,个人成长。
桂哥的点滴
采纳数:1042 获赞数:2173

向TA提问 私信TA
展开全部
在ajax回调函数中调用你想执行的函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-02-22
知道答主
回答量:9
采纳率:0%
帮助的人:6678
展开全部
如果你是在同一个js文件中:
var value='',
url = 'http://test:8080/testcontorl/testAjax',

data = {
参数
}

function postCross(url ,data){
$.ajax({
type:"post",
url:url,
async:false,
data:data,
dataType : "json"
success:function(data){
value=data;//返回的数据赋值给全局变量
}
});
}

function(){ postCross(url ,data);}
如果是不同的js,在后面加个return全局变量就行就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式