如何将Ajax回调获得的数据传递给其它函数
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、当然还可以使用回调函数里调用其他的函数,返回结果以参数形式传给其他的函数等方案。
回调函数
如果要处理 $.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("异常!");
}
});
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全局变量就行就行