axios的二次封装目的(Axios)
导读:Axios Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中 。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端 则使用 XMLHttpRequests。...
Axios
Axios 是一个基于 promise 网络请求库 ,作用于node.js 和浏览器中 。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中) 。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests 。
服务器端
使用json-server
1. axios基本使用
// 1.GET axios({ method: GET, url: http://localhost:3000/posts/2 }).then(res => { console.log(res); }) // POST axios({ method: POST, url: http://localhost:3000/posts, data: { title: test, author: lll } }).then(res => { console.log(res); }) // PUT axios({ method: PUT, url: http://localhost:3000/posts/3, data: { title: test, author: new-lll } }).then(res => { console.log(res); }) // DELETE axios({ method: DELETE, url: http://localhost:3000/posts/3, }).then(res => { console.log(res); })2. 其他请求方法
axios.request(config) axios.get(url[, config]) axios.delete(url[, config]) axios.head(url[, config]) axios.options(url[, config]) axios.post(url[, data[, config]]) axios.put(url[, data[, config]]) axios.patch(url[, data[, config]]) // request axios.request({ method: GET, url: http://localhost:3000/posts/2 }).then(res => { console.log(res) }) // POST axios.post( http://localhost:3000/comments, { "body": "other", "postId": 2 } ).then(res => { console.log(res) })3. axios默认配置
// default setting axios.defaults.method = GET axios.defaults.baseURL = http:localhost:3000 axios.defaults.headers.common[Authorization] = AUTH_TOKEN; axios.defaults.headers.post[Content-Type] = application/x-www-form-urlencoded;4. axios创建实例对象
// 创建实例对象 const obj = axios.create({ baseURL: http://localhost:3000 }) // obj实例和axios对象几乎相同 obj({ url: posts/2 }).then(res => { console.log(res) })5. axios拦截器
/** * 拦截器实质是函数 * 请求拦截器 ,在请求发出时检查请求的参数等是否正确 * 响应拦截器 ,在接受响应前 ,对响应进行预处理 */ // 请求拦截器 axios.interceptors.request.use(functio(config) { console.log(req success) return config }), function (error) { console.log(req fail) return Promise.reject(error) } // 接收拦截器 axios.interceptors.response.use(functio(response) { console.log(res success) return response; }, function (error) { console.log(res fail) return Promise.reject(error); });6. 取消请求
let cancel = nul btns[0].onclick = function () { // 检查上一个请求是否结束 if (cancel !== null) { cancel() } axios({ url: /posts, cancelToken: new axios.CancelTok(function executor(c) { cancel = c; }) }).then(res => { cancel = null console.log(res) }) btns[1].onclick = function () { cancel() }创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!