首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

js 公共变量获取不到值?解决思路

2012-06-15 
js 公共变量获取不到值?var total //公共变量//获取总数function GetTotal() {$.ajax({url: webashx/new

js 公共变量获取不到值?

var total; //公共变量
//获取总数
function GetTotal() {
 $.ajax({
  url: 'webashx/newcount.ashx',
  success: function (data) {
  total = data;//公共变量赋值 }
  });
 }

//页面加载完的时候进行初始化操作
 $(document).ready(function () {
  GetTotal(); //异步取得总页数
  alert(total);//这里获取不到上面已经赋的值,值为空 $("#pager").pager({ pagenumber: 1, pagecount: total, buttonClickCallback: PageClick }); //初始化分页导航
  PageClick(1); //页面初次加载时显示第一页
 });

//单节分页导航数字是执行异步加载数据
PageClick = function (pageclickednumber) {
  $("#pager").pager({ pagenumber: pageclickednumber, pagecount: total, buttonClickCallback: PageClick });
  $.ajax({
  url: 'webashx/newsinfo.ashx',
  type: 'GET',
  data: { pageindex: pageclickednumber },
  success: function (data) {
  $("#result").html(data);
  }
  });

}

这个是分页代码,为什么公共的变量值不一样呢。在 GetTotal() 方法中已经赋值了,可是在下面却得不到值?

[解决办法]
如果上面那个赋值的方法是异步去调用的,那有可能是alert的时候后台的结果还没有return回来。
你在success里面加个debugger调试一下,看是不是先alert后进到success的function里面
[解决办法]
检查一下data的返回值是什么?还有就是ajax默认是异步访问的,异步访问的话,可能你弹出时,尚未返回值
[解决办法]
楼上分析的对 你在你的ajax里面写上不是异步调用
如:
async: false,
[解决办法]
你为什么不在ajax的回调函数里写你后续的一些操作呢?
既然是异步执行,一定是在你弹出信息后才执行完的
[解决办法]

探讨

怎么做呢?有人知道吗?现在加载的数据没出来的时候,已经执行下面的方法了

热点排行