私はajaxとjqueryを使用して同期httpリクエストを送信しています。
サーバーサイドスクリプトの結果を評価した後 、ajax関数から何らかの値を返したいので、同期リクエストを使用する必要があります。
同期リクエストがブラウザをフリーズさせることはわかっていますが、私の要件により、このリクエストを実行する必要があります。
また、同期リクエストでは onreadystatechange 関数を使用しないことも知っています。リクエストを送信した後、または send 関数の下で結果を評価する必要があります。これにより、私のコードは動作状態になります。
しかし、私の問題は、onreadystatechange関数を使用すると、Firefox >=4バージョンでは動作するが、Firefox 4 バージョン以下では動作しないことです。
お願いします。問題がコードにあるのかブラウザにあるのかを調べるのに役立ちます。
私は今、バグを見つけることができません.私は無力です.plz help here is my code
function test(txt_obj) {
var keywords = txt_obj.value;
var SHttpRequestObject = false;
var url = "/speller/server-scripts/ifmisspelled_words.html" + '?keywords=' + keywords);
var speller_res = 0;
if (window.XMLHttpRequest){
SHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject){
SHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
SHttpRequestObject.open("POST", url, false);
if (SHttpRequestObject){
SHttpRequestObject.onreadystatechange = function() {
if (SHttpRequestObject.readyState == 4 && SHttpRequestObject.status == 200)
{
var result = eval("(" + SHttpRequestObject.responseText + ")");
if(result.error) {
speller_res = 1;
} else if(result.word_exist) {
speller_res = 1;
}
else if(result.word_not_exist) {
speller_res = 0;
}
}
};
}
SHttpRequestObject.send(null);
return speller_res;
}