ajax异步调用方法中全局变量分配失败的原因及解决方案分析
调用一个jQuery的Ajax方法时,我们有时需要方法返回一个值或赋值给一个全局变量,但是我们发现程序结束后并没有得到我们想要的值,那么可能是因为你使用的是Ajax异步调用异步:真正的(默认),这样作为:复制代码代码如下所示:
功能managecommenttext(文本){
var结果=文本;
$ ajax({
数据:获取
网址:getcomments .aspx
数据:gettextcommenttext型= =+文字,
缓存:false,
异步:假,
成功:函数(数据){
结果=数据;
}
})
返回结果;
上述方法是同步调用Ajax,并对方法的调用返回的数据值时得到的结果是分配的结果。如果被设置为异步:真,
直到获得数据值才返回结果。
另一种解决方案是直接将代码写入成功方法(根据您的业务,并不是所有的代码都可以直接写入成功)。
注意:如果你设置为异步:假的,你失去了Ajax异步的优点。