これが私のコードです。
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()
関数の戻り値は常に initail 値 " var myValue=0
" になります。
このFirefoxの問題を取り除く方法は??