Ajax获取回调函数无法赋值给全局变量的问题

比如我在别的方法想使用getTree执行后的到的值

var data=getTree( );

然后我发现怎么赋值都是没有数据

通过调试发现总是先弹出data1再弹出回调函数里面的data

因为它还没等ajax执行完就已经继续执行下面的代码

解决方法

1.在回调函数里面进行数据操作

2.将异步改成同步

总结

以上所述是小编给大家介绍的Ajax获取回调函数无法赋值给全局变量的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • jquery ajax修改全局变量示例代码

    今天工作的时候遇到一个问题 代码如下: 复制代码 代码如下: var status=1; var ob=$("[name='email']"); $.ajax({ url:"{:U('Home/Index/checkemail')}", data:"email="+query.email, type:"post", dataType:"json", success:function(re){ status=

  • ajax回调函数参数传递正确方法

    属性方法是可以带参数: 复制代码 代码如下: function ClassX(name) { this.name = name; ClassX.prototype.show = function (param) { alert(this.name + " " + param); }; } var o = new ClassX("name"); o.show("param");//name param 但是,上面是虽然是直接在函数签名中定义了参考,

  • ajax请求返回的数据看不到回调函数没有执行也没报错

    项目用的是ssh,使用jquery的$.post访问struts2的Action,哪里都没有报错,可就是没有结果. 现在$.post要返回保存着权限的集合Collection<Privilege>,权限类Privilege和用户类User相互关联,也就是Privilege里使用set集合保存着拥有这个权限的用户Set<User>,用户User里也使用set集合保存着用户有的权限Set<Privilege>.数据都到action里了,但是回调函数没有执行,并且使用浏览器调

  • jQuery Ajax Post 回调函数不执行问题的解决方法

    今天在写一个检查用户名的功能时,使用的是jQuery.post( url, [data], [callback], [type] )这个函数,但是发现其中的回调函数不能执行. 先来看看我的代码: 前台代码: <script type="text/javascript"> function checkUser() { var user = $('#<%=txtUser.ClientID %>').val(); $.post('checkUser.ashx', {

  • ajax回调函数中使用$(this)取不到对象的解决方法

    下面这段jquery代码,是可以达到预期效果的. 复制代码 代码如下: $(".derek").each(function(){ $(this).click(function(){ var params = $(this).parent().serialize(); var obj=$(this).parent().siblings("div#caskContent"); var form=$(this).parent(); $.ajax({ url:"e

  • Javascript基于AJAX回调函数传递参数实例分析

    本文实例讲述了Javascript基于AJAX回调函数传递参数的方法.分享给大家供大家参考,具体如下: 前面介绍了<javascript实现html页面之间参数传递的四种方法>,这里针对ajax参数传递做一分析. 在Javascript 中,特别是在AJAX中,回调函数常常是一个函数名,没有地方放入参数,如下面的AJAX代码,在成功后将调用回调函数callback,但callback是有参数的,如何把参数传进来呢? var callback = function(p1){ //do somet

  • JQuery中使用Ajax赋值给全局变量异常的解决方法

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成同步操作就行~ 方法1:先设置同步在进行Ajax操作 复制代码 代码如下: //在全局或某个需要的函数内设置Ajax异步为false,也就是同步$.ajaxSetup({     async : false }); //然后再进行你的Ajax操作$.post(地址, 参数, functi

  • ajax给全局变量赋值问题解决示例

    今天在做项目时,遇到了一个问题.我用的是ajax,要在$.ajax({里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才知道,ajax默认是异步请求,(当要赋值时,此时的值没有拿到,所以赋值不成功)如果要在$.ajax({里面给全局变量赋值,需要改为同步操作,即加上async : false,就可以了. 复制代码 代码如下: $.ajax({ type:"post", url:"a.action", data: {}, dataType: '

  • jQuery Tips 为AJAX回调函数传递额外参数的方法

    具体到这个例子,我们希望button1和button2点击之后,用AJAX的方式取example.html的内容,然后动态更新页面的id=callbackdemo3的div HTML如下: 复制代码 代码如下: <div id="callbackdemo1"> <button id="button1">ajax load1</button><br/> </div> <div id="call

  • JQuery中使用Ajax赋值给全局变量失败异常的解决方法

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成同步操作就行~ 方法1:先设置同步在进行Ajax操作 //在全局或某个需要的函数内设置Ajax异步为false,也就是同步 $.ajaxSetup({ async :false}); //然后再进行你的Ajax操作 $.post(地址,参数,function(data, status){

  • 解决ajax回调函数返回的字符串乱码问题

    ServletActionContext.getResponse().setContentType("text/json;charset=UTF-8");//解决乱码问题,没有这句,回调函数的内容可能乱码 ServletActionContext.getResponse().getWriter().write("字符串内容");//在写入之前执行上面一句,可以解决乱码

  • ajax异步回调函数中给外部变量赋值的问题探讨

    复制代码 代码如下: <!doctype html> <head> <meta charset="utf-8"> </head> <body> <script src="http://localhost/UIBMSPHPProj/public/js/jquery-1.8.2.min.js"></script> <script> $(function(){ var str

  • ajax JSONP请求处理回调函数jsonpCallback区分大小写

    使用ajax进行 JSONP跨域请求,因为被请求的对方的回调函数名称是无法修改.而这边页面中会出现多个不同JSONP请求,但他们的回调函数名称都是同一个,_Callback.想到设置AJAX 的JSONP参数.但是发现根本不起作用.最后偶然发现 jsonpcallback是区分大小写的.必须是 jsonpCallback 而不是jsonpcallback 复制代码 代码如下: $.ajax({ url: 'http://www.zbphp.com/j.php?act=json&tm=', dat

随机推荐