编写简单的axios
局限:
只能发送请求,但是不能传递参数(param,body)
参数类型
export type Method = 'POST' | 'GET' | 'DELETE' | 'OPTIONS' | 'PUT' | 'PATCH'
export interface AxiosRequestConfig {
url:string,
method?:Method,
data?:any,
param?:any
}
axios
import { AxiosRequestConfig } from "./types";
import xhr from "./xhr";
function axios(config : AxiosRequestConfig) : void{
xhr(config)
}
export default axios
xhr
创建实例
该构造函数用于初始化一个 XMLHttpRequest 实例对象。在调用下列任何其他方法之前,必须先调用该构造函数,或通过其他方式,得到一个实例对象。
const request = new XMLHttpRequest()
方法
XMLHttpRequest.open()
初始化一个请求。该方法只能在 JavaScript 代码中使用,若要在 native code 中初始化请求,请使用 openRequest() 。
参数:
method
要使用的HTTP方法,比如GET,POST等,规定使用大写
url
一个DOMString表示要其发送请求的URL
async 可选
一个可选的布尔参数,表示是否异步执行,默认为true,如果值为false,**send()**方法直到收到答复前不会返回。如果true,已完成事务的通知可供事件监听器使用。
|