微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ReactJS xmlHttpRequest发送同步问题

如何解决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 举报,一经查实,本站将立刻删除。