位置: IT常识 - 正文

前端实现vue3使用axios调用后端接口(vue前端代码实例)

编辑:rootadmin
前端实现vue3使用axios调用后端接口 前言:在探索vue3.0的道路上调接口这件事很重要,所以我就把我探索出来的这条道展示出来,为大家提供便利,望喜欢,废话不多说展示!!!第一步:在src下创建一个http文件夹,创建一个config的js文件!

推荐整理分享前端实现vue3使用axios调用后端接口(vue前端代码实例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3技巧,vuejs前端开发实战,vuejs前端开发实战,vue.js前端,vue前端项目实战,vue3微前端,vue前端代码实例,前端使用vue,内容如对您有帮助,希望把文章链接给更多的朋友!

作用是:抛出基础请求方式、基础前缀、请求头信息、参数、超时时间、凭证、后端接口返回数据类型!

//import { baseUrl } from '@/utils/global'export default { method: 'get', // 基础url前缀 baseUrl: process.env.BASE_URL, // 请求头信息 headers: { 'Content-Type': 'application/json;charset=UTF-8' }, // 参数 data: {}, // 设置超时时间 timeout: 10000, // 携带凭证 withCredentials: true, // 返回数据类型 responseType: 'json'}第二步:在src下创建一个http文件夹,创建一个axios的js文件!

作用是:使用请求拦截器和响应拦截器解决下边的问题

从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRFimport axios from 'axios'const request = axios.create({ baseURL: '/api', // 注意!! 这里是全局统一加上了 '/api' 前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加 '/api'了,否则会出现2个'/api',类似 '/api/api/user'这样的报错,切记!!! timeout: 5000})// request 请求器// 可以自请求发送前对请求做一些处理// 比如统一加token,对请求参数统一加密request.interceptors.request.use(config => { if(config && config.headers){ config.headers['Content-Type'] = 'application/json;charset=utf-8'; } // config.headers['token'] = user.token; // 设置请求头 return config}, error => { return Promise.reject(error)});// response 拦截器// 可以在接口响应后统一处理结果request.interceptors.response.use( response => { let res = response.data; // 如果是返回的文件 if (response.config.responseType === 'blob') { return res } // 兼容服务端返回的字符串数据 if (typeof res === 'string') { res = res ? JSON.parse(res) : res } return res; }, error => { console.log('err' + error) // for debug return Promise.reject(error) })export default request第三步:在src下创建一个http文件夹,例:创建一个data的文件夹下创建一个index.js!

作用是:这里是放你要请求的接口url、请求方式post/get、传参data最后通过export default方式抛出在页面上调用!

import axios from "../axios";export const alldata=(data)=>{ return axios({ url:'/article/data', method:'post', data })}export default {alldata}第四步:在终端输入命令!

作用是:下载axios!

npm i axios -g第五步:在main.js根文件挂载axios!

作用是:vue3不支持以 Vue.prototype的方式绑定全局变量,只能以app.config.globalProperties.$http在全局绑定!

前端实现vue3使用axios调用后端接口(vue前端代码实例)

图片示例:

import axios from 'axios'app.config.globalProperties.$http=axios;第六步:要在vue.config.js更改配置实现跨域!

作用是:通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接通过proxy也更改axios发送请求中,配置请求的根路径!

// 配置跨域const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({ transpileDependencies: true, // lintOnSave:false, devServer: { port: 8080, // 端口 proxy: { '/api': { // 若请求的前缀不是这个'/api',那请求就不会走代理服务器 target: 'http://156.61.146.85:8078', //这里写路径 pathRewrite: { '^/api': '' }, //将所有含/api路径的,去掉/api转发给服务器 ws: true, //用于支持websocket changeOrigin: true //用于控制请求头中的host值 }, } }})第七步:在需调接口的页面写上所要用的方法,生命周期,初始值,引入的方法!

作用是:调接口渲染页面!

图片示例:

import { reactive,onMounted} from "vue";import {alldata} from "@/http/Home/home.js" export default { name: "app", setup(){ const datas = reactive({ value:[], }) const methods = { requestall(){ const data={ pageNum:10, pageSize:5, articieId:100, }; alldata(data).then(res => { datas.value=res console.log(res); }).catch(err => { console.log(err) }) } } onMounted(()=>{ methods.requestall() }) return{ ...methods } } } 结果:接口调通了200状态码,参数传过去了data,接口的数据也请求到了,vue3.0前后交互达成!!!

图片示例:

                

 

 

本文链接地址:https://www.jiuchutong.com/zhishi/295987.html 转载请保留说明!

上一篇:(二)Cityscapes数据集简介(cityscape dataset)

下一篇:如何解决Vue3没有代码提示问题?

  • 五险一金代缴费
  • 小规模纳税人开普票要交税吗
  • 结转增值税会计凭证
  • 税后利润向股东分配股息
  • 附加税的计算公式2023
  • 以旧换新销售货物时,一律按照新货物的价格缴纳增值税
  • 增值税销项税额和进项税额
  • 进口原料免税
  • 增值税销项税的计税依据(销售额)包括()
  • 企业所得税计算例题
  • 清算时实收资本怎么计算
  • 航空公司开具的个人抬头的发票可以税前扣除吗
  • 实缴注册资本交税吗
  • 年报中资产总额和所有者权益都填0
  • 代开运输发票会不会造成重复征税
  • 甲供材料税金如何结算
  • 实收资本需要计提印花税吗
  • 银行对公贷款利息多少
  • 期初应收帐款
  • 购买座机计入哪个科目?
  • 减少实收资本会引起资产和所有者权益发生变化吗
  • 基金会可以投资企业吗
  • 出售使用过的固定资产如何开票
  • 公司哪些发票可以抵税
  • 收到政府拨款怎么做账
  • 不征税的通行费怎么分录
  • 分期收款所得税收入确认多少
  • 网速检测工具
  • 网页无法复制文字破解
  • 其他权益工具投资交易费用计入哪里
  • 苹果电脑如何查看内存大小
  • 如何使用定向流量
  • 差旅费是否可以所得税前扣除
  • 收到保险公司赔付的车辆维修费的会计分录
  • exedown是什么文件夹
  • 民办非企业单位是什么企业类型
  • macos big sur值得升级吗
  • 海康威视网页插件下载
  • wamp使用
  • php零基础入门教程
  • PHP:imagesetthickness()的用法_GD库图像处理函数
  • 怎么调试vue项目
  • 合并报表的收入就是相加么
  • 手机开的发票
  • 增值税负数要结转
  • 先付款后开票怎么做账务处理
  • EOFError:EOF when reading a line
  • 律师跨省办案收取的费用叫什么
  • 未确认融资费用摊销额怎么计算
  • 机关事业单位购买口罩
  • 房租已付未收发票可以待摊费用吗
  • 建筑材料资源税
  • 公司支付宝账户提现需要手续费吗
  • 向银行借的款属于什么会计要素
  • 劳动仲裁要出面吗
  • 建筑行业项目经理的岗位职责
  • 三栏式明细账需要结账吗
  • 一般纳税人购进税控设备如何抵扣
  • ubuntu20.04怎么安装
  • 如何把virtualbox虚拟机里面的文件传到主机
  • adb.exe是什么程序
  • linux下时间同步的两种方法分享
  • newsupd.exe - newsupd是什么进程 有什么用
  • 升级win10系统后无法联网的三种解决方法
  • 安卓获取设备信息
  • android更改应用名称
  • cocos2d-js游戏开发
  • opengl详解
  • 一些实用性较高的东西
  • jquery密码验证
  • using kernel
  • js注释方法
  • jquery cookie使用
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • java script
  • Android的PopupWindow使用android学习之旅(四十三)
  • before和after在句子中怎么翻译
  • 为什么买的酒精有香味
  • 内蒙古税务局发票认证
  • 银行与企业之间的信用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设