jquery设置全局变量问题

栁罗风尘 2014-07-08 03:59:15
function pages(page,totalpages,catid){
var mydata ='';
$.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages},
function(data){
mydata = data;
});
return mydata;
}


这里,在$.post 的 function 内 可以alert(mydata); 得到想要的结果 ,但是返回的 mydata 却是空值,应该如何做才能使 返回的不是空值,而是 data的数据呢?

我用 window.mydata 设置过全局变量,好像不管用
...全文
1259 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
栁罗风尘 2014-07-10
  • 打赏
  • 举报
回复
好了,谢谢各位,结贴,发分。。。
栁罗风尘 2014-07-10
  • 打赏
  • 举报
回复
引用 9 楼 dulongfie 的回复:
$.ajaxSetup({async:false}); function pages(page,totalpages,catid){ var mydata =''; $.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages}, function(data){ mydata = data; }); return mydata; }
因为同时要使用两个ajax,一个提内容,一个生成分页,所以才考虑要返回数据,好让两者的内容拼接在一起显示出来,如果按照楼上各位的做法,改为同步,有风险,我是直接 在后台增加一个字段返回给内容的 ajax做拼接的。
roffer 2014-07-09
  • 打赏
  • 举报
回复
引用 8 楼 dulongfie 的回复:

$.ajaxSetup({async:false});
function pages(page,totalpages,catid){         v
             ar mydata ='';         
              $.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages}, 
                          function(data){             
                                 mydata = data;         
                          });         
              return mydata;     
} 
$.ajaxSetup({async:false}); function pages(page,totalpages,catid){ var mydata =''; $.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages}, function(data){ mydata = data; }); return mydata; }
roffer 2014-07-09
  • 打赏
  • 举报
回复

$.ajaxSetup({async:false});
function pages(page,totalpages,catid){         v
             ar mydata ='';         
              $.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages}, 
                          function(data){             
                                 mydata = data;         
                          });         
              return mydata;     
} 
holdindex 2014-07-08
  • 打赏
  • 举报
回复
function pages(page, totalpages, catid) {
    var mydata = '';

    $.post("./ajax_zlk.php", {type: "2", page: page, catid: catid, totalpages: totalpages},
        function (data) {
            (function (data) { mydata = data;})();
             return mydata;
        })
}
holdindex 2014-07-08
  • 打赏
  • 举报
回复
怎么回事,不能重新编辑?
holdindex 2014-07-08
  • 打赏
  • 举报
回复
我没用过jQ 不过你的问题出来很明问,异步编程问题。试试我的代码。
function pages(page,totalpages,catid){
        var mydata ='';
        $.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages},
        function(data){
            mydata = data;
        });
        return mydata;
    }
别闹腰不好 2014-07-08
  • 打赏
  • 举报
回复
设置ajax 同步 ,就有值了 。
XZowie 2014-07-08
  • 打赏
  • 举报
回复
引用 2 楼 fangyangmao 的回复:
引用 1 楼 xuzuning 的回复:
异步就是这样的,请调整你的思路
就是说还没来得急赋值,就已经返回值了??
是的 雖然$.post 也能做到同步請求 但這是一件非常可怕的事情… 無法預期什麼時候會回應回來 網頁有可能就這樣死了 異步可以透過callback的方式來傳值:
function pages(page,totalpages,catid, callback){
	    $.post("./ajax_zlk.php", {type:"2",page:page,catid:catid,totalpages:totalpages},
		function(data){
			callback && callback.call(this, data);
	    });
}
fangpengyu 2014-07-08
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
异步就是这样的,请调整你的思路
就是说还没来得急赋值,就已经返回值了??
xuzuning 2014-07-08
  • 打赏
  • 举报
回复
异步就是这样的,请调整你的思路

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧