卧龙区网站建设哪家好,管理咨询是干嘛的,wordpress插件转php,手机域名注册查询目录前言#xff1a;一、什么是 axios #xff1f;二、Axios 的配置项三、Axios 的请求方式四、自定义创建实例五、Axios 请求错误处理六、Axios 解决跨域问题七、Axios 请求案例随机笑话大全总结#xff1a;前言#xff1a; 在编写vue里的项目时#xff0c;必须要用和后台…
目录前言一、什么是 axios 二、Axios 的配置项三、Axios 的请求方式四、自定义创建实例五、Axios 请求错误处理六、Axios 解决跨域问题七、Axios 请求案例随机笑话大全总结前言 在编写vue里的项目时必须要用和后台进行合作我们始终绕不开对 axios 的使用 vue3 中 axios 进行了一些重要的更新在这里分享给大家 一、什么是 axios
Axios 是一个基于 promise 网络请求库作用于 node.js 和浏览器中 Axios 在服务端它使用原生 node.jshttp 模块而在客户端浏览端则使用 XMLHttpRequests Axios 可以拦截请求和响应、转换请求和响应数据、取消请求、自动转换 JSON 数据 Axios 安装方式npm install axios 二、Axios 的配置项
这些是创建请求时最常用的配置选项详细的配置项请前往 Axios 官网 提示 只有 url 是必需的如果没有指定 method则请求将默认使用 GET 方法 {url: /user, // 请求的服务器地址 URL method: GET, // 请求方式默认值 GETbaseURL: https://some-domain.com/api/, // 如果 url 不是绝对地址则会发送请求时在 url 前方加上 baseURLheaders: {X-Requested-With: XMLHttpRequest}, // 自定义请求头params: { ID: 12345 }, // 与请求一起发送的 URL 参数data: { firstName: Fred }, // 作为请求体被发送的数据仅适用 PUT, POST, DELETE 和 PATCH 请求方法timeout: 1000, // 请求超时的毫秒数如果请求时间超过 timeout 的值则请求会被中断默认值是 0 (永不超时)responseType: json, // 期望服务器返回的数据类型选项包括: arraybuffer, document, json, text, stream 浏览器专属blob默认值 json// 允许在向服务器发送前修改请求数据它只能用于 PUT, POST 和 PATCH 这几个请求方法transformRequest: [function (data, headers) { return data; // 对发送的 data 进行任意转换处理}],// 在传递给 then/catch 前允许修改响应数据transformResponse: [function (data) {return data; // 对接收的 data 进行任意转换处理}]
}三、Axios 的请求方式
为了方便起见已经为所有支持的请求方法提供了别名
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]]) 注意 在使用别名方法时url、method、data 这些属性都不必在config中指定 // 发送一个 GET 请求
axios(/example-url/……, // 请求地址{ /* 请求体中的参数 */ },{method: GET, // 请求方式可省略不写// …… 其他配置 ……}
)// 发送一个 POST 请求
axios(/example-url/……, // 请求地址{ /* 请求体中的参数 */ },{method: POST , // 请求方式// …… 其他配置 ……}
)四、自定义创建实例
axios.create([config])调用create函数传入自定义配置来创建自定义axios实例
// src/request/axiosInstance .js
import axios from axiosconst request axios.create({baseURL: https://some-domain.com/api/,timeout: 1000,headers: {X-Custom-Header: foobar}
})export default request使用自定义实例发送请求
// 方法一
import request from /request/axiosInstance.jsrequest({method: POST, // 请求方式url: /example-url/……, // 请求地址// …… 其他配置 ……
})// 方法二
import request from /request/axiosInstance.js
request(/example-url/……, // 请求地址{method: POST, // 请求方式// …… 其他配置 ……}
)// 方法三
import request from /request/axiosInstance.jsrequest.post(/example-url/……, // 请求地址{ /* 请求体中的参数 */ },{/* …… 其他配置 …… */}
)五、Axios 请求错误处理
发送请求后使用 .catch(error {}) 来处理此次请求异常请求成功发出且服务器也响应了状态码但状态代码超出了 2xx 的范围
axios({method: GET, // 请求方式url: /example-url/……, // 请求地址
}).catch(error {console.log(请求失败)
})六、Axios 解决跨域问题
跨域指的是浏览器不能执行其他网站的脚本它是由浏览器的同源策略造成的是浏览器对 javascript 施加的安全限制同源策略是指协议域名端口都要相同其中有一个不同都会产生跨域浏览器为了安全问题一般都限制了跨域访问也就是不允许跨域请求资源如果未处理跨域访问则会在请求时控制台出现 Access-Control-Allow-Origin…… 的报错信息如何处理跨域问题可在 vite 项目的 vite-config.js 文件中添加 proxy 代理
import { fileURLToPath, URL } from node:url
import { defineConfig } from vite
import vue from vitejs/plugin-vueexport default defineConfig({plugins: [vue()],resolve: {alias: {: fileURLToPath(new URL(./src, import.meta.url))}},// 服务server: {// 代理proxy: {/api: {target: https://v.api.aa1.cn/api, // 代理后台服务器地址changeOrigin: true, //允许跨域 rewrite: path path.replace(/^\/api/,) // 将请求地址中的 /api 替换成空}}}
})七、Axios 请求案例
本次请求测试采用的是 APISpace 提供的测试 API 当然如果你有自己的测试的 API 也可测试自己的 API 提示 测试 APISpace 提供的接口需要登录其账号获取鉴权私钥领取测试案例的使用次数方可测试 // 代理服务来解决跨域问题import { fileURLToPath, URL } from node:url
import { defineConfig } from vite
import vue from vitejs/plugin-vueexport default defineConfig({plugins: [vue()],resolve: {alias: {: fileURLToPath(new URL(./src, import.meta.url))}},// 服务server: {// 代理proxy: {/apispace: {target: https://eolink.o.apispace.com/, // 代理后台服务器地址changeOrigin: true, //允许跨域 rewrite: path path.replace(/^\/apispace/,) // 将请求地址中的 /ok 替换成空}}}
})随机笑话大全
随机笑话大全--请求方式POST请求地址https://eolink.o.apispace.com/xhdq/common/joke/getJokesByRandom请求头X-APISpace-Token鉴权私钥请求头Authorization-Type鉴权方式值为apikey请求头Content-Typeapplication/x-www-form-urlencoded请求body参数pageSize获取条数最多20条必填类型String返回数据格式JSON返回案例
请求测试案例
// 选项式
script
import axios from axios
export default {data: () ({count: null, // 获取条数jokes: null, // 笑话合集}),methods: {// 获取随机笑话getRandomJokes() {// 发送请求axios(/apisapce/xhdq/common/joke/getJokesByRandom, // 请求地址已处理跨域{method: POST, // 请求方式// 请求头headers: {X-APISpace-Token: p6cz2g80pcplxtituz1mz3ccgkgaaxl6,Authorization-Type: apikey,Content-Type: application/x-www-form-urlencoded},// 请求体中的参数data: { pageSize: this.count }}).then(response {const responseData response.data // 获取服务器响应的数据console.log(responseData)if (responseData.statusCode 000000) {// 请求成功this.jokes responseData.result} else {// 请求失败alert(responseData.desc)}}).catch(error {alert(服务器异常)})}}
}
/scripttemplate获取个数input typenumber v-modelcountbutton clickgetRandomJokes获取随即笑话/buttonhrulli v-forj in jokes v-htmlj.content/li/ul
/template// 组合式
script setup
import axios from axios
import { ref } from vueconst count ref(null) // 获取条数const jokes ref(null) // 笑话合集// 获取随机笑话
function getRandomJokes() {// 发送请求axios(// 请求地址已处理跨域/apisapce/xhdq/common/joke/getJokesByRandom, {// 请求方式method: POST, // 请求头headers: {X-APISpace-Token: p6cz2g80pcplxtituz1mz3ccgkgaaxl6,Authorization-Type: apikey,Content-Type: application/x-www-form-urlencoded},// 请求体中的参数data: { pageSize: count.value }}).then(response {const responseData response.data // 获取服务器响应的数据console.log(responseData)if (responseData.statusCode 000000) {// 请求成功jokes.value responseData.result} else {// 请求失败alert(responseData.desc)}}).catch(error {alert(服务器异常)})
}
/scripttemplate获取个数input typenumber v-modelcountbutton clickgetRandomJokes获取随即笑话/buttonhrulli v-forj in jokes v-htmlj.content/li/ul
/template总结 欢迎大家加入我的社区在社区中会不定时发布一些精选内容https://bbs.csdn.net/forums/db95ba6b828b43ababd4ee5e41e8d251?category10003 以上就是 Vue3 中 axios 的安装及使用不懂得也可以在评论区里问我或私聊我询问以后会持续发布一些新的功能敬请关注。 我的其他文章https://blog.csdn.net/weixin_62897746?typeblog 文章转载自: http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn http://www.morning.yrnll.cn.gov.cn.yrnll.cn http://www.morning.wxccm.cn.gov.cn.wxccm.cn http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn http://www.morning.ndtzy.cn.gov.cn.ndtzy.cn http://www.morning.lwrcg.cn.gov.cn.lwrcg.cn http://www.morning.dnhdp.cn.gov.cn.dnhdp.cn http://www.morning.rahllp.com.gov.cn.rahllp.com http://www.morning.kpgft.cn.gov.cn.kpgft.cn http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.wcgfy.cn.gov.cn.wcgfy.cn http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn http://www.morning.rdlrm.cn.gov.cn.rdlrm.cn http://www.morning.ntzfl.cn.gov.cn.ntzfl.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.lwhsp.cn.gov.cn.lwhsp.cn http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn http://www.morning.xqbbc.cn.gov.cn.xqbbc.cn http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.mnslh.cn.gov.cn.mnslh.cn http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn http://www.morning.wbfg.cn.gov.cn.wbfg.cn http://www.morning.sbrrf.cn.gov.cn.sbrrf.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.bby45.cn.gov.cn.bby45.cn http://www.morning.kpgms.cn.gov.cn.kpgms.cn http://www.morning.ygwbg.cn.gov.cn.ygwbg.cn http://www.morning.ylkkh.cn.gov.cn.ylkkh.cn http://www.morning.rnhh.cn.gov.cn.rnhh.cn http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn http://www.morning.zrgdd.cn.gov.cn.zrgdd.cn http://www.morning.khlxd.cn.gov.cn.khlxd.cn http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn http://www.morning.chxsn.cn.gov.cn.chxsn.cn http://www.morning.ryjl.cn.gov.cn.ryjl.cn http://www.morning.flfdm.cn.gov.cn.flfdm.cn http://www.morning.lrzst.cn.gov.cn.lrzst.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.qieistand.com.gov.cn.qieistand.com http://www.morning.incmt.com.gov.cn.incmt.com http://www.morning.nmymn.cn.gov.cn.nmymn.cn http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn http://www.morning.qcwck.cn.gov.cn.qcwck.cn http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn http://www.morning.wrbf.cn.gov.cn.wrbf.cn http://www.morning.mlwpr.cn.gov.cn.mlwpr.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.rtqyy.cn.gov.cn.rtqyy.cn http://www.morning.rkmhp.cn.gov.cn.rkmhp.cn http://www.morning.ygbq.cn.gov.cn.ygbq.cn http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn http://www.morning.mrbzq.cn.gov.cn.mrbzq.cn http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn http://www.morning.trtdg.cn.gov.cn.trtdg.cn http://www.morning.rhsg.cn.gov.cn.rhsg.cn http://www.morning.sqqds.cn.gov.cn.sqqds.cn http://www.morning.kmqwp.cn.gov.cn.kmqwp.cn http://www.morning.bpmfz.cn.gov.cn.bpmfz.cn http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn http://www.morning.tgdys.cn.gov.cn.tgdys.cn http://www.morning.ldzss.cn.gov.cn.ldzss.cn http://www.morning.lstmg.cn.gov.cn.lstmg.cn http://www.morning.gnjtg.cn.gov.cn.gnjtg.cn http://www.morning.nlryq.cn.gov.cn.nlryq.cn http://www.morning.gnkbf.cn.gov.cn.gnkbf.cn http://www.morning.lgnbr.cn.gov.cn.lgnbr.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn http://www.morning.xqxrm.cn.gov.cn.xqxrm.cn http://www.morning.tbknh.cn.gov.cn.tbknh.cn http://www.morning.dtpqw.cn.gov.cn.dtpqw.cn http://www.morning.mqghs.cn.gov.cn.mqghs.cn http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn http://www.morning.gjlml.cn.gov.cn.gjlml.cn