这是我的代码。
我发送ajax请求并返回值的函数:
function myAjaxCall(){
var myValue=0
var async= false //I have to use synchronized request(otherwise my return value is 0)
xmlhttp.open("GET",URL,async);
xmlhttp.onreadystatechange=function(){
...
myValue = SOMEVALUE;
};
xmlhttp.send();
return myValue
}
我的其他函数将使用 myAjaxCall 函数返回值
function otherFunc(){
var x= myAjaxCall();
}
除了在Firefox浏览器上,一切都以这种方式完美运行,我知道原因是因为在 Firefox 中,如果我使用同步请求,onreadystatechange
将不会被调用。
但是,在我的情况下,我必须使用同步的ajax 请求,否则myAjaxCall()
函数返回的值始终是初始值“ var myValue=0
”。
如何摆脱这个Firefox问题?