Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax onreadystatechange在firefox 4以下版本中不能处理Ajax同步请求_Ajax_Http_Request_Synchronous - Fatal编程技术网

Ajax onreadystatechange在firefox 4以下版本中不能处理Ajax同步请求

Ajax onreadystatechange在firefox 4以下版本中不能处理Ajax同步请求,ajax,http,request,synchronous,Ajax,Http,Request,Synchronous,我正在使用ajax和jquery发送一个同步http请求 我必须使用同步请求,因为我想在评估服务器端脚本的结果后从ajax函数返回一些值 我知道同步请求将冻结浏览器,但由于我的要求,我将不得不执行此请求 我还知道,在同步请求中,onreadystatechange函数没有用处,我们应该在发送请求后或在发送函数下面评估结果。通过这样做,我的代码处于工作状态 但是,我的问题是,当我使用onreadystatechange函数时,它在firefox>=4版本中工作,但在低于firefox 4的版本中不

我正在使用ajax和jquery发送一个同步http请求

我必须使用同步请求,因为我想在评估服务器端脚本的结果后从ajax函数返回一些值

我知道同步请求将冻结浏览器,但由于我的要求,我将不得不执行此请求

我还知道,在同步请求中,onreadystatechange函数没有用处,我们应该在发送请求后或在发送函数下面评估结果。通过这样做,我的代码处于工作状态

但是,我的问题是,当我使用onreadystatechange函数时,它在firefox>=4版本中工作,但在低于firefox 4的版本中不工作。

求你了。请帮助我找出问题出在代码还是浏览器上

我现在无法找到错误,我很无助…请帮忙 这是我的代码

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;  

    }  
发件人:

onreadystatechange

警告:这不能从本机代码中使用。你也不应该 将其用于同步请求


谢谢你的答复。。。。。是的,我们不应该像文档中建议的那样在同步请求中使用onreadystatechange,但我在完成工作后阅读了这篇文章。。。。。我只是想知道为什么onreadystatechange和同步请求在firefox>=4版本中工作,而在firefox<4版本中不工作。请回答…我的工作是通过不使用onreadystatechange和同步请求来完成的…我想清除我的查询。。。