xmlHttpRequest對(duì)象的使用并通過form表單post傳遞file類型數(shù)據(jù)

var xmlhttp;
function verify1() {
    var file = document.getElementById("file").files[0];;
    var data = new FormData();
    data.append("file", file);
    //確定瀏覽器
    if(window.XMLHttpRequest) {
        //針對(duì)FireFox、Mozillar、Opera、Safari、IE7、IE8
        //創(chuàng)建XMLHttpRequest對(duì)象
        xmlhttp = new XMLHttpRequest();
        //修正某些瀏覽器的BUG
        if(xmlhttp.overrideMimeType) {
            xmlhttp.overrideMimeType("text/html");
        }
    }else if(window.ActiveXObject){
        //針對(duì)IE5、IE5.5、IE6
        //這兩個(gè)為插件名稱作為參數(shù)傳遞,為了創(chuàng)建ActiveXObject
        var activeName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for(var i=0;i>activeName.length();i++) {
            try{
                //非別取出,如果創(chuàng)建成功則終止循環(huán),如果失敗則會(huì)拋出異常繼續(xù)循環(huán)
                xmlhttp = new ActiveXObject(activeName[i]);
                break;
            }catch(e){
            }
        }
    }
    //確定XMLHttpRequest是否創(chuàng)建成功
    /*if(!xmlhttp) {
     alert("XMLHttpRequest創(chuàng)建失敗!");
     return;
     }else {
     alert("XMLHttpRequest創(chuàng)建成功!"+xmlhttp);
     }*/
    //注冊(cè)回調(diào)函數(shù)
    xmlhttp.onreadystatechange=callback;
    //url = "http://15.114.118.50:8081/uploadImage";
    //設(shè)置連接信息
    //1.是http請(qǐng)求的方式
    //2.是服務(wù)器的地址
    //3.是采用同步還是異步,true為異步
    //xmlhttp.open("GET",url,true);
    //post請(qǐng)求與get請(qǐng)求的區(qū)別
    //第一個(gè)參數(shù)設(shè)置成post第二個(gè)只寫url地址,第三個(gè)不變
    xmlhttp.open("POST","http://15.114.118.50:8081/uploadImage",true);
    //post請(qǐng)求要自己設(shè)置請(qǐng)求頭
    xmlhttp.setRequestHeader('Authorization', 'Client-ID 8d26ccd12712fca');
    // xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //發(fā)送數(shù)據(jù),開始與服務(wù)器進(jìn)行交互
    //post發(fā)送請(qǐng)求
    xmlhttp.send(data);
}
function callback() {
    //接收響應(yīng)數(shù)據(jù)  www.2cto.com
    //判斷對(duì)象狀態(tài)是否交互完成,如果為4則交互完成
    if(xmlhttp.readyState == 4) {
        //判斷對(duì)象狀態(tài)是否交互成功,如果成功則為200
        if(xmlhttp.status == 200) {
            //接收數(shù)據(jù),得到服務(wù)器輸出的純文本數(shù)據(jù)
            var response = xmlhttp.responseText;
            alert(response);
            var obj = eval('(' + response + ')');
            console.log(obj.uploadFile);
            alert(obj.uploadFile.fileUrl);
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容