ajax给全局变量赋值 改为同步后还是不行

weixin_38834667 2017-06-10 03:05:09
ajax 给全局变量赋值 改为同步后 还是赋不上去 还求大神支招
...全文
880 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui1202 2021-04-12
  • 打赏
  • 举报
回复
success:function (data) { userAddG1=data.userAdd; //userAddG=msg.userAdd; ....你这到底是赋什么的值 赋值给userAddG1 ,注释了userAddG 你返回的data,注释里写的msg。。。整个都不清不楚的
hui1202 2021-04-12
  • 打赏
  • 举报
回复
layer.alert(userAddG); 放success里去。。。 你一个异步操作你放函数外面来alert,你执行1万年都不会变。。
泡泡鱼_ 2021-04-10
  • 打赏
  • 举报
回复
ajax是异步的呀。原本将ajax放在上,下面的代码中又要用到ajax执行完成后的结果时,就已经是错了。更别说,你的ajax还放在一个函数中等着触发,那更是错上加错了…… 把你所有基于ajax操作结果的操作全放去ajax的success中去
fangsky 2021-04-09
  • 打赏
  • 举报
回复
F12跟踪下。另外你确定userAddG和userAddG1没搞错?
大然然 2021-04-09
  • 打赏
  • 举报
回复
你改的是 userAddG1, 但你定义的却是userAddG, function findAuth(th){ $.ajax({ url:'/findAdminAuth', type:'POST', async:false, data:{accountNumber:th.id}, success:function (data) { if (data.userAdd==="true"){ $("#userAdd").prop('checked',true) }else{ $("#userAdd").prop('checked',false) } } }) }
yyangjun 2021-04-03
  • 打赏
  • 举报
回复
<ul class="sub-menu"> <li> <a th:id="${adminu.accountNumber}" th:onclick="findAuth(this)"> <!--onclick="xadmin.add_tab('权限列表','authoriy_list')" href="javascript:void(0); 'javascript:findAuth('+${adminu.accountNumber}+')''"--> <i class="iconfont"></i> <cite><span th:text="${adminu.accountNumber}"></span></cite></a> </li> </ul> //全局变量 var userAddG="true"; function findAuth(th){ $.ajax({ url:'/findAdminAuth', type:'POST', async:false, data:{accountNumber:th.id}, success:function (data) { userAddG1=data.userAdd; //可以获取到数据,现在问题是如何根据这些数据修改上面的全局变量 // userAddG=msg.userAdd; // layer.alert(userAddG); // var userDelete=msg.userDelete; // var userUpdate=msg.userUpdate; // var userSelect=msg.userSelect; // var Terminal=msg.Terminal; // var gateWay=msg.gateWay; // var serviceAdd=msg.serviceAdd; // var serviceDelete=msg.serviceDelete; // var serviceUpdate=msg.serviceUpdate; // var serviceSelect=msg.serviceSelect; // var historyView=msg.historyView; // var historyUpdate=msg.historyUpdate; // var historyDelete=msg.historyDelete; // var authorityChange=msg.authorityChange; } }) } layer.alert(userAddG); //虽然在success中修改了userAddG的值,但是只是暂时的,没有真正修改到外部数据 if (userAddG==="true"){ $("#userAdd").prop('checked',true) }else{ $("#userAdd").prop('checked',false) } 请问一下,我这个怎么访问不到呢
  • 打赏
  • 举报
回复
在执行ajax之前应该确保全局变量已经存在了,如果在全局变量声明之前就已经执行了ajax肯定不行。
Go 旅城通票 2017-06-14
  • 打赏
  • 举报
回复
同步全局赋值肯定可以的,不可以要么你用的有问题,要么服务器端报错就没走success回调给全局变量赋值 注意以后贴代码,要不谁知道你搞了什么
天际的海浪 2017-06-10
  • 打赏
  • 举报
回复
引用 2 楼 weixin_38834667 的回复:
改成同步之后 是先调用了ajax之后再读取得 还是不行
同步应该可以,不过具体问题要看代码才能确定。
weixin_38834667 2017-06-10
  • 打赏
  • 举报
回复
改成同步之后 是先调用了ajax之后再读取得 还是不行
天际的海浪 2017-06-10
  • 打赏
  • 举报
回复
不是赋不上去,而是你必须要知道它在什么时候赋值的。你如果是在它赋值之前就读取变量那当然是读取不到的。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧