通过AJAX读取文件的问题

时间:2014-03-15 15:39:39

标签: javascript ajax

我需要在按钮上单击

读取一个名为config.txt的文件
Host:www.fff.com
Username:root123
Password:root123

这是我提交的html文件部分

<input name="Submit" class="btn btn-primary" style="float:left;" onClick="contact_mailsend();" id="Submit" value="SUBMIT" type="submit" />
单击

将触发JS函数contact_mailsend():

function  contact_mailsend(){
    xmlHttp.onreadystatechange=function(){
        var tmpDoc, re=/^(.+)$/gm, arr=[], oP,arrSplit=[],arrSpl=[];
        if(xmlHttp.readyState===4){
            if(xmlHttp.status===200){
                tmpDoc=xmlHttp.responseText; arrSpl = tmpDoc.split(",");
                var arrGlobalHost = arrSpl[0].split(':');
                var arrGlobalUser= arrSpl[1].split(':');
                var arrGlobalPass= arrSpl[2].split(':');
                strGlobalHost = arrGlobalHost[1];
                strGlobalUser = arrGlobalUser[1];
                strGlobalPass = arrGlobalPass[1];
                alert(strGlobalHost);
                xmlHttp=null;
            }
        }
        xmlHttp.open("POST", fileName, true); //Use POST to prevent use of cached file
        xmlHttp.send(); 
    }; 
};
}

发生的事情是内部警报不是第一次发生。

提交点击首次点击永不提醒。如果第二次点击提交,则会提醒。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

这是demo Plunker

尝试将xmlHttp.send()移出onreadystatechange事件处理程序。单击时,将发送表单。当响应发生变化时,您的回调函数将执行并发出警报。

function  contact_mailsend(){
    xmlHttp.open("POST", fileName, true); //Use POST to prevent use of cached file
    xmlHttp.send(); 
    xmlHttp.onreadystatechange=function(){
        var tmpDoc, re=/^(.+)$/gm, arr=[], oP,arrSplit=[],arrSpl=[];
        if(xmlHttp.readyState===4){
            if(xmlHttp.status===200){
                tmpDoc=xmlHttp.responseText; arrSpl = tmpDoc.split(",");
                var arrGlobalHost = arrSpl[0].split(':');
                var arrGlobalUser= arrSpl[1].split(':');
                var arrGlobalPass= arrSpl[2].split(':');
                strGlobalHost = arrGlobalHost[1];
                strGlobalUser = arrGlobalUser[1];
                strGlobalPass = arrGlobalPass[1];
                alert(strGlobalHost);
                xmlHttp=null;
            }
        } 
    }; 
};