社区
Ajax
帖子详情
ajax给全局变量赋值 改为同步后还是不行
weixin_38834667
2017-06-10 03:05:09
ajax 给全局变量赋值 改为同步后 还是赋不上去 还求大神支招
...全文
909
11
打赏
收藏
ajax给全局变量赋值 改为同步后还是不行
ajax 给全局变量赋值 改为同步后 还是赋不上去 还求大神支招
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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) } 请问一下,我这个怎么访问不到呢
仰望星空的代码
2017-06-14
打赏
举报
回复
在执行ajax之前应该确保全局变量已经存在了,如果在全局变量声明之前就已经执行了ajax肯定不行。
斯洛文尼亚旅游
2017-06-14
打赏
举报
回复
同步全局赋值肯定可以的,不可以要么你用的有问题,要么服务器端报错就没走success回调给全局变量赋值 注意以后贴代码,要不谁知道你搞了什么
天际的海浪
2017-06-10
打赏
举报
回复
引用 2 楼 weixin_38834667 的回复:
改成同步之后 是先调用了ajax之后再读取得 还是不行
同步应该可以,不过具体问题要看代码才能确定。
weixin_38834667
2017-06-10
打赏
举报
回复
改成同步之后 是先调用了ajax之后再读取得 还是不行
天际的海浪
2017-06-10
打赏
举报
回复
不是赋不上去,而是你必须要知道它在什么时候赋值的。你如果是在它赋值之前就读取变量那当然是读取不到的。
ajax
给
全局变量
赋值
问题解决示例
结果死活
赋值
不上,纠结了好半天,后来上网查了查,才知道,
ajax
默认是异步请求,(当要
赋值
时,此时的值没有拿到,所以
赋值
不成功)如果要在$.
ajax
({里面给
全局变量
赋值
,需要
改为
同步
操作,即加上async : false,...
Ajax
获取回调函数无法
赋值
给
全局变量
的问题
2. **将异步
改为
同步
**:虽然可以将
Ajax
请求设置为
同步
(通过设置`async: false`),但这将阻塞浏览器直到请求完成,可能导致用户体验下降。因此,除非有特殊需求,一般不推荐这种方法。 3. **使用Promise或async/...
jQuery
ajax
当async为false时解决
同步
操作失败的问题
所以,应该使用一个
全局变量
来存储返回的结果,并在
ajax
请求之后访问这个变量来获取结果。 另外,通常不建议在实际开发中使用
同步
请求,尤其是在生产环境中,因为它会阻塞用户的操作,直到服务器响应。如果只是需要...
项目开发常见问题
这种情况会导致age变成
全局变量
。 2.
ajax
入参处理 前端
ajax
针对入参进行了encodeURIComponent(value)处理,后台接口要针对入参统一处理。 3. isAsync参数设置 isAsync参数默认设置为true,可以设置为false,...
精通javascript
3. 函数:JavaScript中的函数不仅是代码复用的工具,也可以作为一等公民,可以
赋值
给变量、作为参数传递、返回结果。 二、对象与原型 1. 对象:JavaScript的对象是一种键值对的集合,可以视为关联数组。通过字面量...
Ajax
52,792
社区成员
25,335
社区内容
发帖
与我相关
我的任务
Ajax
Web 开发 Ajax
复制链接
扫一扫
分享
社区描述
Web 开发 Ajax
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章