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

一 叶 知 秋,奥 妙 玄 心

相关推荐
wuhen_n28 分钟前
网络请求在Vite层的代理与Mock:告别跨域和后端依赖
前端·javascript·vue.js
小彭努力中29 分钟前
193.Vue3 + OpenLayers 实战:圆孔相机模型推算卫星拍摄区域
vue.js·数码相机·vue·openlayers·geojson
LCMICRO-133108477461 小时前
长芯微LD9689完全P2P替代AD9689,是一款双通道、14位、2.0 GSPS/2.6 GSPS模数转换器(ADC)
网络·单片机·嵌入式硬件·网络协议·fpga开发·硬件工程·高速adc
用户69371750013845 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦5 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户69371750013845 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水7 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫8 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll1239 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌10 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js