AJAX回调函数内部给全局变量赋值的问题与解决

关于Ajax回调函数内返回值无法给全局变量赋值的问题 众所周知,Ajax从后端获得数据到回调函数,想要将获取的值赋给全局变量的话要将Ajax中的async改为false,使其同步,不然js在按顺序执行时等请求发出后就先去执行Ajax下面的代码了。 var data = CommonUtil.paramsUtil.getDataLoginId(); CommonUtil.ajax({ url: "/ChartControll... 阅读详情

问题描述:

       通AJAX调用后,将返回值赋给jsp页面的全局变量,但在下面使用这个全局变量的时候是undefined。

问题原因:

      这是由于AJAX同步调用和异步调用机制问题。

如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作

也就是说 为 true的时候是异步, 那个全局变量还没有赋值,就去执行下面的 语句了。。所以一直是undefined(刚开始调的时候我整个人都undefined!)。

解决方式:

       将AJAX调用设置为同步方式即可:

      

$.ajax({    

   type:"GET",

   async:false,

   url:"email.jsp“

   dataType:"html",

   timeout:3000,

   success:function(data){if(data=="true"){result=1;}else{result=0;}}

});



JQuery Ajax 回调函数为全局变量赋值 背景   如题,在使用Echarts的地图时,需要为图表填充数据。但是如果写在success的回调函数中,代码很长并且有大量重复,显然不是正确的打开方式。因此定义了一个外部变量,使用Ajax请求数据,然后在success中为变量赋值。 var result; $.ajax({ url:'getDeclareInfo.json', type:'POST', data : 阅读详情

相关推荐

Xilinx-复旦微-FPGA-眼图BlockDesign系统制作-针对PCIE系统

XIlinx-复旦微电子-FPGA-眼图BlockDesign系统制作-针对PCIE系统,手把手教你如何建立眼图测试

weixin_43444334的博客 2596

关于ajax回调无法给全局变量赋值的问题

关于ajax回调无法给全局变量赋值的问题

Creepiz的博客 1513

408——计算机组成原理(持续更新)

小数点前的0代表正数,1代表负数。

qq_55202378的博客 1722

ajax回调给全局变量,AJAX回调函数内部给全局变量赋值后,在外部调用竟然没有被赋值的原因...

AJAX回调函数内部给全局变量赋值后,在外部调用居然没有被赋值的原因window.onload = function(){var oCount = 0;//计数器//其他代码$.ajax({type: "POST",url: "__URL__"+"/insertimportseller",data:"email="+eml,success:function(data){if(data == 1){...

weixin_29214691的博客 605

HDLBits答案汇总

前言 该博客为本人做HDLBits习题时的心得记录总结,欢迎大家一起交流进步。 HDLBits网站链接 Verilog Language Basics Vectors Modules:Hierarchy Procedures More Verilog Features Circuits Combinational Logic Basic gates Multiplexers Arithmetic Circuits Karnaugh Map to Circuit Sequential Logic Latche

谦豫 9万+

ESP8266红外控制美的空调:从协议解析到Home Assistant集成

红外遥控技术作为一种经典的非接触式控制方式,其原理是通过红外发光二极管发射经过特定频率调制的光信号来传递指令。在物联网和智能家居领域,利用微控制器如ESP8266模拟红外信号,成为将传统家电接入智能生态系统的关键技术。这项技术通过精准解析和生成符合设备厂商私有协议的红外编码,实现了对空调、电视等设备的远程与自动化控制,具有很高的实用价值。本文聚焦于美的空调的红外协议,深入探讨了其脉冲宽度调制(PWM)和全量式编码的特点,并提供了基于ESP8266的完整解决方案,包括硬件连接、库函数API详解以及如何将其无缝

weixin_30718391的博客 402

关于在ajax中无法对全局变量进行赋值的原因解读

今天做项目时遇到一个问题,这时需要对全局变量进行赋值,却发现怎么也无法进行赋值,后来查询了资料后

风过留痕 3990

告别抓包失败!保姆级配置:让Burp+Proxifier稳定抓取任意微信小程序

本文提供了一套完整的Burp+Proxifier配置方案,确保稳定抓取微信小程序数据。从环境准备、工具选型到Burp Suite深度配置和Proxifier精准设置,详细解决了证书安装、进程捕获和乱码解析等核心问题,帮助开发者告别抓包失败,提升调试效率。

weixin_28738165的博客 454

jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法

在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:true(默认情况)   var result=false; $.ajax({ type : 'post', url : 'xxxxxxxxxxx', data : 'xxxxx', ...

Jation_的博客 7785

XPATH注入漏洞检测工具汇总

环境 > Python3.7。

墨痕诉清风的博客 742

26、多级快速多极子算法(MLFMA)在大规模电磁问题中的应用

本文探讨了多级快速多极子算法(MLFMA)在大规模电磁问题中的高效应用。通过分层分区策略,MLFMA在分布式内存架构上实现了高效并行化,能够求解包含数亿未知数的复杂电磁问题。文章分析了介质球体、半球透镜、周期性结构和损耗介质阵列等典型案例,验证了MLFMA的高精度与广泛适用性。同时,MLFMA被应用于实际场景如隐身目标Flamme的外部共振分析和含分裂环谐振器的超材料设计,展示了其在航空航天、超材料和生物医学等领域的广阔前景。未来发展方向包括算法优化、多物理场耦合和实时计算,进一步拓展其应用潜力。

t8u9v0w1x的博客 117

ajax请求返回值赋值问题

在发起异步ajax请求的时候,期望在返回回调函数中将返回值赋值给前面的全局变量出现的问题: var a; $.post(url,function(data){ a = data; }); console.log(a); 这里的a打出来是undefined的; 究其原因,因为ajax请求默认是异步请求,所以js解释执行的时候是不会进行等待ajax的返回,而是会直接进行下一步解释 执行,所...

weixin_38213517的博客 1320

自然语言处理:长文本场景下的关键词抽取实践

自然语言处理:长文本场景下的关键词抽取实践

丨汀、的博客 2076

JavaScript 之 回调函数的返回值给全局变量赋值问题

jQuery 中,会遇到$.get(url,data,callback,type) 或 $.post(url,data,callback,type) 返回值给全局变量赋值的问题: 例如: <script language="JavaScript"> var count= 1; $.post("<%=path%>/AdminCenter/SysFunction/GetOrderNo",       { parentCode: pc }, fun

Joaniee的博客 4136

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

js ajax 赋值,js设置全局变量ajax中赋值

js设置全局变量,在ajax中给予赋值赋值不上问题解决方案方案一、//在全局或某个需要的函数内设置Ajax异步为false,也就是同步.$.ajaxSetup({async : false});//然后再进行你的Ajax操作$.post(地址, 参数, function(data, status) { if (status == "success") { //赋值给全局变量 } });方案二、$....

weixin_42168230的博客 2459

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

回调函数的返回值给全局变量的赋值问题

问题:在js中,回调函数的返回值对全局变量进行赋值,网上的解决方案主要是把异步改为同步 async: false,具体实现如下。

9173

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

解决ajax无法给js全局变量赋值的问题

在ajax中是无法给js中的全局变量赋值的,因为ajax默认是异步请求(当要赋值时,此时的值没有拿到,所以赋值不成功)。例如: function test(){   var result=0;   $.ajax({   type: "POST",   url: "ajax/checkfor1.php?action=reg_checkEmail",           data: {em...

lingdian1614114082的博客 647

ajax实现给JavaScript中全局变量赋值

ajax实现给JavaScript中全局变量赋值

gzp444280620的博客 1万+

JS设置全局变量在ajax中赋值不上原因分析及问题解决

一、背景   在写项目的时候有时候在Ajax中请求了后端返回的数据,不想在success中处理或需要将结果带出Ajax(可能是业务需求),这时就需要处理了。一般解决方法是想办法将 Ajax 请求返回的结果同业务处理逻辑都放到 Ajax 中或者定义一个全局变量存数据,而定义一个全局变量,然后再在ajax中赋值可能就会出现这个问题,为什么我在这说可能出现这个问题呢?这个原因且听我慢慢道来。 二、Aja...

写Bug的小白的博客 1万+

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

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

Just Code 497

[AJAX]js设置全局变量,在ajax中给予赋值赋值不上

因为Ajax是以异步方式来获取数据的,执行Ajax的时候你程序是继续往下面执行的,这样你那个变量没有被Ajax方法赋值,因此你的逻辑是无法使用同步方式编写的解决方法一: 将逻辑赋值写在ajax回调函数中,对应同一业务逻辑的后续代码需要写在Ajax的回调函数中,才能保证其串行运行。解决方法二:$.ajax({type : "post",url :地址,data : "参数" + 参数的值, asyn

马叔叔的积累之路 4941

Ajax回调数据赋值给变量的问题

Ajax回调数据赋值给变量的问题 写这篇文章是因为我上面Ztree的文章引发的我对js的研究,不明白的可以先看看上面Ztree的返回数据那块,因为是同一个小例子,上篇是所有的代码,上图 我声明全局变量tree,在Success回调函数里把回调的数据赋值给变量,我当时想着根据编程习惯做法也都是这,但是问题出现了,我先简单说下Console.info这个方法是在控制台打印数据,因为alert返回数据...

蔷薇花开 926

在ajax中如何把局部变量变为全局变量

今天在做一个项目时,遇到了一个问题。我用的是ajax,要在$.ajax({})里面给一个全局变量赋值,结果死活赋值不上,(就是给变量赋值是,外部始终拿不到该值,即无法当成全局变量)纠结了好半天,后来在网上查了很多,才知道,ajax默认是异步请求,如果要在$.ajax({})里面给全局变量赋值,需要改为同步操作,即加上async : false,除此之外在变量前还需要加上window ,就可以了。 ...

张木期的博客 1869

关于ajax请求数据,并将数据赋值给全局变量的一些解决方法

在使用ajax请求数据是,开始的时候是打算将ajax的数据取出,并赋予给全局变量,但是在实际编码过程中发现并不能将数据赋予给最开始定义的全局变量,出现这个问题的原因是由于ajax异步加载的原因,所以只能用其他方法来解决,下来是解决的方法 第一个解决方法没有使用全局变量,直接在ajax请求中将请求到的数据赋值给需要的地方 第二个方法是将请求到的数据,通过方法传参来传递给一个方法,然后再方...

angsu7023的博客 1004
上一篇: js 设置焦点放到最后
下一篇: PDF10 增加书签功能的JS脚本
二农
博客等级 码龄17年 23粉丝 13原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值