jQuery 中,会遇到$.get(url,data,callback,type) 或 $.post(url,data,callback,type) 返回值给全局变量赋值的问题:

例如:

<script language="JavaScript">
var count= 1;
$.post("<%=path%>/AdminCenter/SysFunction/GetOrderNo",
      { parentCode: pc },
          function (data) {
              count = data.result;
          },
          "json");
alert(count);
</script>

问题:想用JavaScript 取testController中GetIsExist的值,赋给test.aspx中的全局变量 count,可是返回的值只在$.getJSON中起作用count为8,在全局中显示时仍为1,请问该问题如何解决?

问题原因:Ajax是默认都是异步JavaScript&XML,浏览器解析页面时,JS只管执行当前代码,顺序执行。发送请求了,那是请求响应的事,它不管这些,只管继续执行在它面前的代码,所以不等Ajax响应返回,便会继续向下执行,这时你的全局 count 仍然是初始值(在这里为1),如果你在回调函数function(data){}内部alert的话,就会是8了。

方法一:直接在回调函数中实现操作

<script language="JavaScript">
var count= 1;
$.post("<%=path%>/AdminCenter/SysFunction/GetOrderNo",
      { parentCode: pc },
function (data) {
count = data.result;
alert(count); },
"json");
</script>

方法二:在回调函数外实现,把异步改为同步 async: false

<script language="JavaScript"> 
    var count= 1;      
   $.ajax({
url: "<%=path%>/AdminCenter/SysFunction/GetOrderNo",
async: false, //改为同步方式
type: "POST",
data: { parentCode: pc },
success: function (data) {
count = data.result;
},
dataType:"json"
});
    alert(count);
</script>

最新文章

  1. Java使用MyEclipse构建webService简单案例
  2. python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串
  3. 基于HT for Web 3D呈现Box2DJS物理引擎
  4. KVM 介绍(5):libvirt 介绍 [ Libvrit for KVM/QEMU ]
  5. Win7激活工具|OEM小马激活
  6. 我认为我可以去尝试做一下Maya Ue4导出插件
  7. mysql大表如何优化
  8. .net 4.0 ValidateRequest=&quot;false&quot;
  9. linux: centos设置ip以及连接外网
  10. 《Linux设备驱动程序》 笔记1
  11. Web Server (IIS) Administration Cmdlets in Windows PowerShell
  12. 论山寨手机与Android联姻 【9】SmartPhone的硬件结构
  13. .NET中文乱码解决方案
  14. JQuery获取input type=&quot;text&quot;中的值的各种方式
  15. CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击
  16. IDEA如何创建及配置Web项目(多图)
  17. Activiti就是这么简单
  18. java UTC时间格式化
  19. PHP实现登录注册
  20. vivado中使用MMCM ip核

热门文章

  1. 读书笔记_Effective_C++_条款三十六:绝不重新定义继承而来的non-virtual函数
  2. MySQLAdmin的用法
  3. java基础学习总结——接口
  4. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方式
  5. Js 日期加减天数
  6. UITableView的headerView展开缩放动画
  7. 在VirtualBox中为已有的磁盘增加磁盘大小
  8. 数据结构及算法篇bsearch crypt lfind lsearch qsort rand srand
  9. 关于ios发布AppStore验证UUID不过的问题
  10. C++获得本机所有网卡的IP和MAC地址信息