代码如下:
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());
不能忍了。。。undefined!
function aa() {
var returnValue = "";
$.ajax({
url: '/Ajax/Ajax.ashx',
type: 'post',
async:false,
success: function (value) {
returnValue = value;
}
});
return returnValue;
}
});
别在ajax方法里去return,你觉着会return到哪儿去?
错在哪里 大神?
@上海-小小菜鸟:
代码已经贴上了
1、jquery的ajax方法默认是异步调用,在成功回调进行赋值的话,方法有可能已经结束了,需要添加async:false转为同步;
2、success是jquery提供的回调函数,你在这方法里return是return的这个success方法,在方法里只做赋值操作就可以,在ajax方法外部进行return才行。
@烽火情怀: 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 啊
@烽火情怀: 按照你的方法 还是值为空
@上海-小小菜鸟: 你没设置 async:false 吧
@Yu: 三克油
@烽火情怀: @上海-小小菜鸟: @Yu: 三克油
没有后端代码,怎么知道干了什么。。。
数据从后台传过来了么?
数据是传过来了 在success中 值是没有问题的
后台返回的数据没问题,只是不能在success 里面return 给 yy,
在你的例子了 aa() , 始终是没有返回值的
那我要获取aa()的值 该咋做呢?
@上海-小小菜鸟:
送一个回调函数进去
因为ajax走的回调,你的function aa没有返回值,所以必定是undefined。