ReactJS xmlHttpRequest发送同步问题

问题描述

我的react js中有一个xmlHttpRequest发送函数

    httpPut=(theUrl,data)=>
    {
        var resultFlag = false;
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.open( "PUT",theUrl,false ); // false for synchronous request
        xmlHttp.setRequestHeader("Content-Type","text/plain");
        xmlHttp.onload = function (e) {
            if (xmlHttp.readyState === 4) {
                if (xmlHttp.status === 201) {
                    console.log('status is 201');
                    resultFlag = true;
                } 
            }else{
            }
        }
        xmlHttp.onerror = function (e) {
            console.log("Error cannot put");
        };
        xmlHttp.send( data );
        return resultFlag;
    }

调用函数获取结果

    if(this.httpPut("config.ini",iniString)===true){
    //
    }
    else{
    //
    }

问题是,当我将xmlHttp.open设置为同步并且服务器拒绝来自前端的访问时,send函数将不会返回并仍然等待结果,因此无法获得resultFlag。 因此,我想将同步模式更改为true(异步),但是此时,如何获取resultFlag?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)