【Vue】2-8、Axios 网络请求

javascript 复制代码
cdn:<script src="https://unpkg.com/axios/dist/axios.min.js"></script> 

注:使用 CDN 链接就可以不需要去下载对应的 js 文件到本地,只需要联网即可使用,可以减少项目的体积

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Axios</title>
</head>
<body>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script>
        const result = axios({
            method: 'GET',
            url: 'http://www.liulongbin.top:3006/api/getbooks'
        })then(function(books){
            console.log(books)
        })
    </script>
</body>
</html>
html 复制代码
<body>
    <button id="btnGet">get</button>
    <button id="btnPost">post</button>
    
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script>
        document.querySelector('#btnGet').addEventListener('click',async function(){
            const { data:res} = await axios.get('http://www.liulongbin.top:3006/api/getbooks',{
                params: {
                    id: 1
                }
            })
            console.log(res)
        })

        document.querySelector('#btnPost').addEventListener('click',async function(){
           const { data:res} = await axios.post('http://www.liulongbin.top:3006/api/post',{
               name: 'zs',
               gender: '女'
           })
           console.log(res)
        })
    </script>
</body>
javascript 复制代码
import axios from 'axios'

// Vue.prototype.axios = axios
Vue.prototype.$http = axios

如果每次使用都要导入一次,那就太麻烦了,也降低了可维护性

可以在 main.js 文件中导入 axios ,这样就不需要在每个组件中都重新导入了

javascript 复制代码
methods: {
 async postInfo() {
   const { data: res } = await this.$http.post('http://www.liulongbin.top:3006/api/post', { name: 'zs', age: 20 })
   console.log(res)
 }
}
javascript 复制代码
// 全局配置 axios 的请求跟路径
axios.defaults.baseURL = 'http://www.liulongbin.top:3006'

缺点:不利于 API 的复用!

一 叶 知 秋,奥 妙 玄 心

相关推荐
掘金安东尼23 分钟前
纯 CSS 实现弹性文字效果
前端·css
牛奶1 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶1 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion1 小时前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er1 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart2 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星3 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_3 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路3 小时前
ArcPy 开发环境搭建
前端
林小帅5 小时前
【笔记】OpenClaw 架构浅析
前端·agent