首页 新闻 会员 周边 捐助

Ajax返回值unedfined

0
悬赏园豆:20 [已解决问题] 解决于 2015-06-17 10:09

代码如下:

 

function aa() {
                var returnValue = "";
                $.ajax({
                    url: '/Ajax/Ajax.ashx',
                    type: 'post',
                    success: function (value) {
                        returnValue = value;
                        return returnValue;
                    }
                });
            }
        });

 

 var yy=aa();

这个aa();一直是unedfined.这是为什么呢?

问题补充:

后台就这点:

 context.Response.ContentType = "text/plain";
            Random rand = new Random();
            context.Response.Write(rand.Next(0, 10).ToString());

上海-小小菜鸟的主页 上海-小小菜鸟 | 初学一级 | 园豆:158
提问于:2015-06-16 17:04
< >
分享
最佳答案
0

不能忍了。。。undefined!

function aa() {
                var returnValue = "";
                $.ajax({
                    url: '/Ajax/Ajax.ashx',
                    type: 'post',

         async:false,
                    success: function (value) {
                        returnValue = value;
                    }
                });
                return returnValue;
            }
        });

收获园豆:15
烽火情怀 | 菜鸟二级 |园豆:380 | 2015-06-16 17:15

别在ajax方法里去return,你觉着会return到哪儿去?

烽火情怀 | 园豆:380 (菜鸟二级) | 2015-06-16 17:16

   错在哪里 大神?

上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-16 17:16

@上海-小小菜鸟:

代码已经贴上了

1、jquery的ajax方法默认是异步调用,在成功回调进行赋值的话,方法有可能已经结束了,需要添加async:false转为同步;

2、success是jquery提供的回调函数,你在这方法里return是return的这个success方法,在方法里只做赋值操作就可以,在ajax方法外部进行return才行。

烽火情怀 | 园豆:380 (菜鸟二级) | 2015-06-16 17:21

@烽火情怀:  load: function () {
                                var series = this.series[0];
                                setInterval(function () {
                                    var x = (new Date()).getTime(), // current time        
                                        y =
                                    series.addPoint([x, y], true, true);
                                }, 2000);
                            }

在这里没办法return 啊

上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-16 17:29

@烽火情怀: 按照你的方法    还是值为空

上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-16 17:42

@上海-小小菜鸟: 你没设置 async:false 吧

Yu | 园豆:12990 (专家六级) | 2015-06-17 08:44

@Yu: 三克油

上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-17 10:10

@烽火情怀: @上海-小小菜鸟: @Yu: 三克油

上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-17 10:10
其他回答(4)
0

没有后端代码,怎么知道干了什么。。。

浅草青晨 | 园豆:904 (小虾三级) | 2015-06-16 17:10
0

数据从后台传过来了么?

羽商宫 | 园豆:2490 (老鸟四级) | 2015-06-16 17:12

数据是传过来了    在success中 值是没有问题的  

支持(0) 反对(0) 上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-16 17:13
0

后台返回的数据没问题,只是不能在success 里面return 给 yy,

 

在你的例子了 aa() , 始终是没有返回值的

收获园豆:2
Yu | 园豆:12990 (专家六级) | 2015-06-16 17:28

那我要获取aa()的值  该咋做呢?  

支持(0) 反对(0) 上海-小小菜鸟 | 园豆:158 (初学一级) | 2015-06-16 17:32

@上海-小小菜鸟:  

送一个回调函数进去

支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2015-06-17 08:34
0

因为ajax走的回调,你的function aa没有返回值,所以必定是undefined。

收获园豆:3
幻天芒 | 园豆:37207 (高人七级) | 2015-06-17 09:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册