`
p_3er
  • 浏览: 52591 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

解决Ajax全局变量赋值的问题

 
阅读更多

在做项目的过程中,以下代码:在1处a为0。然后通过一个ajax请求一个值为1的data赋予a,在2处a为1。然后来到3这里的时候,a还是为0。通过查找网络,得出原因是ajax默认的是异步传输数据,在2处的a的scope只在ajax方法内部。

//1
	var a = 0;
	
	$.ajaxSetup({
		async : false
	});
	$.get("a.action", function(data) {
		//2
		a = data;
		alert(a);
	});
	//3
	alert(a);



为了解决上面所遇到的问题,我们把ajax异步传输改为同步。

在与ajax方法之前同一个作用域的位置,设置为同步传输。

//设置为同步传输
	$.ajaxSetup({
		async: false
	}); 
	
	//1
	var a = 0;
	
	$.ajaxSetup({
		async : false
	});
	$.get("a.action", function(data) {
		//2
		a = data;
		alert(a);
	});
	//3
	alert(a);

最好不要把同步传输的设置放在全局范围内,否则设置之后的ajax请求都为同步的了。
分享到:
评论

相关推荐

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

    要在$.ajax({里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才知道,ajax默认是异步请求,(当要赋值时,此时的值没有拿到,所以赋值不成功)如果要在$.ajax({里面给全局变量赋值,需要...

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

    本篇文章主要是对jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

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

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成...

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

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去,所以只要改成...

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

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

    解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)

    PHP实现异步调用方法研究与分享PHP异步调用socket实现代码C#异步调用的好处和方法分享异步调用webservice返回responseXML为空的问题解决方法C# 委托的三种调用示例(同步调用 异步调用 异步回调)浅析jquery ajax...

    Ajax.js:封装了Ajax操作的简易工具

    这里采用单例模式封装成一个对象,即只有一个全局的变量将其赋值给Ajax,该对象有一个request方法。request有两个参数,第一个为请求的url(必要的),字符串类型,第二个opt为配置参数(可选的),对象类型。 目前提供...

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    程序描述:本章将介绍 GWT应用中高级应用的部分,包括各中组件和布局、如何发送XMLHttpRequest请求,以及如何解决浏览器历史记录问题等等,同时读者还将详细的了解RPC应用的开发过程。 /xmlsample/AjaxSample....

    《javaScrip开发技术大全》源代码

    • sample31.htm 在继承中使用全局变量(一种解决办法) 第9章(\代码\第09章) • sample01.htm 布尔对象与布尔值 • sample02.htm 布尔值隐式转换为布尔对象 • sample03.htm ...

    ECMAScript 2018快速入门 高清完整PDF

    1.3.3避免全局变量成为全局对象的属性 3 1.3.4简化代码 3 1.3.5模拟私有成员 4 1.4const语句 5 1.5建议的方式 6 1.6小结 6 第2章表达式和运算符 7 2.1解构赋值 7 2.1.1自定义变量名 8 2.1.2剩余项 8 2.1.3默认值 9 ...

    整理后java开发全套达内学习笔记(含练习)

    export ORACLE_SID --变全局变量 unset ORACLE_SID --卸载环境变量 ORACLE_HOME=... --安装路径;直接用一句语句也可以,如下 export ORACLE_HOME=/oracledata/.../bin: BufferedReader建构时接受java.io.Reader...

    JavaScript权威指南(第六版) 清晰-完整

    3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问...

    JavaScript权威指南(第6版)(中文版)

    3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问...

    JavaScript权威指南(第6版)

    3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问...

Global site tag (gtag.js) - Google Analytics