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)});
添加回答
舉報