jquery ajax回调函数里面的变量如何在函数外部也能访问到?

$.get( "files",
function(data){
var hello = data;

}
);

alert(hello);

解答:

回调函数里面的变量如何在函数外部也能访问到只需要回调内部变量赋值给全局变量就可以了,但一般这问题都出在没有搞清楚同步和异步的区别,于是虽然赋值给全局变量了,但立即访问全局变量还是没有值的情况。

解决:

注意ajax访问的同步和异步。

使用$.ajax访问,别用get,post等已经封装过的,这类没有$.ajax来的灵活。

$.ajax({url:"/jquery/test1.txt",async:false});//注意这里async,默认为true表示异步,false表示同步。

如果不想使用回调的方式进行后续处理,则可以设置成同步模式。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-02
吧hello 设置成全局变量。最好使用$.ajax({async:false})
第2个回答  2013-08-02
把hello设置为全局变量即可
第3个回答  推荐于2016-07-15
定义一个全局变量
var hello;
$.get( "files",
function(data){
hello = data;
});

alert(hello);追问

alert(hello); 出现undefined

追答

$.ajax({async:false})

本回答被提问者和网友采纳

jquery中的ajax中回调函数的怎样用?
jquery ajax 回调函数只要配置正确就可以使用 .ajax({ url: "test.html", context: document.body, success: function(){ alert("回调函数")}})使用代码如上 回调函数实现的机制是:⑴定义一个回调函数;⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;⑶当特定的事件或条...

jquery中的$.post()中的回调函数中能设置外界参数的值吗?
你在页面有两个alert,,应该会出现两次才对。第一次应该是false,第二次应该由data来决定。因为你使用的是AJAX,默认是异步的,因此当代码执行到$.post()时,并不会等它结果,而是继续向下执行,到了第二个alert的位置,这时t应该还是最初你设定的var t = false;所以会显示false.还有,alert()会中...

jQuery $.get(url,data,callback,type) 返回值给全局变量赋值的问题
ls说的对,Ajax是异步JavaScript&XML浏览器解析页面时候不等你Ajax响应会来,就会继续向下执行,这时你的全局mm任然是1,如果你在回调函数function(data){}内部alert的话,就会是8了。一种是楼上说的方法 另一种就是把异步改为同步 async: false ...

jquery ajax的回调函数function()里面的参数可以使用哪些 又分别代表什 ...
url是你所要提交异步请求时的地址,也就是action,data则是你提交异步请求时的数据,也就是你向服务器端所要发送的数据,function(data\/msg)里面的参数,其实不论你写什么都可以的,仅仅是一个变量,它是你异步请求后,服务器端给你返回的数据,它可以使json,xml,html等等如果有时间的话建议你w3csch...

javascript 或jquery如何正确读取ajax返回的数组
1、先把得到的数组用alert(array)看是不是[object],如果不是 如果是弹出这个数组的字符串的话;2、那就 var array=eval("("+array+")");再array[0]["title"]就能得到了。3、一般返回的如果不是json格式的数组,那么需要转换成json格式 jQuery.parseJSON(data);...

jquery ajax 请求详解,请求成功后回调函数中的参数“data”是指什么?请...
data 是 你通过访问Ajax 中url 对应的页面后,返回的值。相当于执行url那个页面后输出的内容。在function(){} 里面你就可以把 获取到的data 进行处理,根据需要把获取的信息进行操作。

PHP怎么接收jQuery的Ajax post过来的值?
1、首先安装配置php集成环境。以phpstudy为例。2、在www目录下新建一个html文件(new1.html),和一个php(ab.php)文件。3、html文件先引用所需的类库jquery文件,其次在body部分,以一个简单的表单提交为例。4、html的javascript-ajax部分,以上步body中的cilik事件为例。5、php文件的编写部分,主要...

jquery的轮询使用ajax导致内存溢出问题
你这种情况就不应该用轮询,而应该在ajax的回调函数(最好是complete)中再次发起下一次请求,这样就可以保证每次请求都是在上一次请求结束后才发起的,这样就不会造成崩溃了。比如:function xxx(){ .ajax({ url:"...",data:{...},success:function(data){ \/\/处理返回数据 },error:function()...

jquery如何获取ajax中data的值
.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 。.ajax的一般格式 .ajax({ type: 'POST',url: url ,data: data ,dataType:dataType ,success: success ,error: error });

django的ajax403怎么解决?
1.then这种链式写法,导致这请求的回调不是在参数里,而是在jQuery.Callbacks一个optionsCache全局变量里,我们无法在ajaxerror里拿到回调函数进行重发。 2.写在then里的回调触发一次就会被销毁,当触发了error时,回调执行后就销毁。 最后的处理方式就是在要触发error之前,拦截401的错误,重新进行身份认证,然后重置状态,重发...

相似回答