第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 promise 對象實現ajax請求失敗,并拋出錯誤

通過 promise 對象實現ajax請求失敗,并拋出錯誤

寶慕林4294392 2018-12-19 18:15:43
問題描述:想通過 promise 對象來實現 ajax數據請求//getDate.json{"name":"zzz","age":22,"say":"hello zzz"}    //demo.js    let getJson = url =>{    let promise = new Promise((resolve,reject) =>{    let xhr = new XMLHttpRequest();        xhr.open("GET",url,true);        xhr.onreadystatechange = () =>{        if(this.readyState !== 4){            return;        }        if(this.status == 200){            resolve(this.response);        }else{            reject(new Error(this.statusText))        }    }    xhr.responseType = 'json';    xhr.setRequestHeader('Accept','application/json');    xhr.send(null);});    return promise;};getJson("getDate.json").then((json) =>{console.log(json);},(err)=>{console.log(err)});拋出錯誤:(intermediate value) is not a constructor
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

你代碼錯誤有點多
1.兩個new
2.this換成xhr,箭頭函數this這個知識點查下吧
3.onsetRequestHeader沒有這個函數,應該是setRequestHeader
4.設置格式為json不能獲取responseText,必須設置responseType為text才行,另外改成response也行

貼上我改后的代碼

let getJson = url =>{

    let promise = new Promise((resolve,reject) =>{

    let xhr = new  XMLHttpRequest();

        xhr.open("GET",url,true);

        xhr.onreadystatechange = () =>{

        if(xhr.readyState !== 4){

            return;

        }

        if(xhr.status == 200){

            resolve(xhr.response);

        }else{

            reject(new Error(xhr.statusText))

        }

    }

    xhr.responseType = 'json';

    xhr.setRequestHeader('Accept','application/json');

    xhr.send(null);

});

    return promise;

};


getJson("getDate.json").then((json) =>{console.log(json);},(err)=>{console.log(err)});


查看完整回答
反對 回復 2019-01-03
  • 1 回答
  • 0 關注
  • 577 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號