【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 的复用!

一 叶 知 秋,奥 妙 玄 心

相关推荐
m0_7482550216 分钟前
前端常用算法集合
前端·算法
真的很上进30 分钟前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
web1309332039836 分钟前
vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法
前端·vue.js·elementui
中科岩创1 小时前
中科岩创边坡自动化监测解决方案
大数据·网络·物联网
NiNg_1_2341 小时前
Echarts连接数据库,实时绘制图表详解
前端·数据库·echarts
如若1232 小时前
对文件内的文件名生成目录,方便查阅
java·前端·python
滚雪球~2 小时前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语2 小时前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
supermapsupport2 小时前
iClient3D for Cesium在Vue中快速实现场景卷帘
前端·vue.js·3d·cesium·supermap
brrdg_sefg2 小时前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全