SOURCE

function ajax({method='GET',url,data = null}) {
    return new Promise((reoslve,reject)=>{
        const xhr = new XMLHTTPRequest();
        xhr.open(method,url,true);

        if(method === "POST" && data) {
            xhr.setRequestHeader("Content-type","application/json")
        }
        xhr.onreadystatechange=function() {
            if(xhr.readyState === 4){
                if(xhr.status >=200 && xhr.status <300) {
                    resolve(JSON.parse(xhr.responseText))
                } else {
                    reject({status:xhr.status,statusText:xhr.statusText})
                }
            }
        }
        xhr.send(data?JSON.stringify(data):null)
    })
}

ajax({method:"GET", url:"https://jsonplaceholder.typicode.com/posts/1"}).then((data)=>{
    console.log("成功", data)
}).catch((error)=>console.error("错误",error))
console 命令行工具 X clear

                    
>
console