function getPro() {
var str = '';
$.ajax({
type:"POST",
url: "?ctl=setting&act=getpro",
success: function(msg){
if (msg.length > 0) {
str = decodeURI(msg);
}
}
});
return str;
}ajax请求成功后,我想使用该函数定义的str变量,如何做到啊?
不使用全局变量哈!
该函数的功能就是简单的返回ajax请求所得到的响应字符串!
望各位大虾不吝赐教!
var str = '';
$.ajax({
type:"POST",
url: "?ctl=setting&act=getpro",
success: function(msg){
if (msg.length > 0) {
str = decodeURI(msg);
}
}
});
return str;
}ajax请求成功后,我想使用该函数定义的str变量,如何做到啊?
不使用全局变量哈!
该函数的功能就是简单的返回ajax请求所得到的响应字符串!
望各位大虾不吝赐教!
这个问题真的很多人问过,其实在网上查下就知道了。
str的值很有可能取不到,取道的时候很少。
why?
因为在ajax异步交互的时候,程序不会等ajax请求完成了然后返回了值。再执行下面的代码的。
如果是这样就失去了ajax的意义,如果你了解ajax的原理就知道这一点。
所有你要取得ajax中的str值,就需要用同步。同步就会等ajax请求完成才继续执行的。没有完成就
一直等到它完成为止。
不过在异步情况下,你可以用setTimeout延时。直到str不为空才执行下面的代码。