function  myAxios ( config )  { return  new  Promise ( ( resolve,  reject )  =>  { const  xhr =  new  XMLHttpRequest ( ) if  ( config. params)  { config. url +=  ` ? ${ new  URLSearchParams ( config. params) . toString ( ) } ` } xhr. open ( config. method ||  "GET" ,  config. url) xhr. addEventListener ( "loadend" ,  ( )  =>  { if  ( xhr. status >=  200  &&  xhr. status <  300 )  { resolve ( JSON . parse ( xhr. response) ) }  else  { reject ( new  Error ( xhr. response) ) } } ) if  ( config. data)  { xhr. setRequestHeader ( "Content-Type" ,  "application/json" ) xhr. send ( JSON . stringify ( config. data) ) }  else  { xhr. send ( ) } } ) } myAxios ( { url :  "https://ajax.itheima.net/api/register" , method :  "post" , data :  { username :  "mayanan04" , password :  "123456" } } ) . then ( ret  =>  { document. querySelector ( "p" ) . innerHTML =  ret. message} ) . catch ( err  =>  { document. querySelector ( "p" ) . innerHTML =  err. message} )