当前位置: 首页 > news >正文

杨浦区建设小学网站首页泉州有哪些公司是做网站

杨浦区建设小学网站首页,泉州有哪些公司是做网站,网上营销推广方案,广州建设网站是什么关系一、简介 Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 这是一个使用率很高的前端网络请求库,几乎所有的前端项目都会使用,本文主要介绍的是如何在vue项目中使用axios,并对其进行全面的封装。 注意&#x…

一、简介

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。

这是一个使用率很高的前端网络请求库,几乎所有的前端项目都会使用,本文主要介绍的是如何在vue项目中使用axios,并对其进行全面的封装。

注意:本文内容主要来自于个人开发经验,如有不当之处,敬请谅解,也欢迎大家在评论区指出。

二、安装

使用 npm

npm install axios

使用 bower

bower install axios

使用 cdn

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

安装完成后,在main.js中引入axios

const axios = require("axios"); 
Vue.prototype.$axios = axios;

三、封装

这里写的浅显直白点,按照步骤一点一点完成,即可顺利使用。

1. 第一步:封装请求配置

src/utils目录下创建fetch.js文件,没有utils文件夹的可以自己创建。

// fetch.js
import router from "../router/index"; // 引入路由,token过期时返回登录页
import Cookies from "js-cookie"; // 引入Cookies插件,用来存储token
import { Message } from "element-ui"; // 引入element插件,进行错误提示,看项目需求,也可以不用const axios = require("axios");
axios.defaults.headers["Content-Type"] = "application/json;charset=UTF-8";const fetch = axios.create({timeout: 60 * 1000, // 设置超时时间
});// 请求拦截器
fetch.interceptors.request.use((config) => {const token = Cookies.get("token") || ""; // 设置tokenconfig.headers.common["Authorization"] = token;return config;},(error) => {return Promise.reject(error);}
);// 响应拦截器
fetch.interceptors.response.use((res) => {// 当content-download==='1',进行文件下载,判断条件与后端协商一致即可,此处只是举例if (res.headers["content-download"] === "1") {return res; // 此处返回res是因为需要在headers中获取文件名} else {// 其它状态码可自行进行补充,本文仅例举一项if (res.data.code === 500) {return Promise.reject(res.data);} else {if (res.data.code === 200) {return res.data;} else {return Promise.reject(res.data);}}}},(error) => {const stateCode = error.response.status;Toast.clear();if (stateCode === 401 || stateCode === 403) {Cookies.remove("token");Message.error("登录已失效,请重新登录!");router.push("/login");}return Promise.reject(error);}
);export default fetch;

2. 第二步:封装请求类型

src/utils目录下创建request.js文件。

// request.js
import fetch from "./fetch";function request(url, method, data) {switch (method) {case "get":return fetch({method: "get",url,params: data,});case "post":return fetch({method: "post",url,data,});case "download":return fetch({method: "get",url,params: data,responseType: "blob",});default:return fetch;}
}export default request;

注意:download并非是请求类型,只是为了方便区别下载文件个人添加的。

3. 第三步:添加接口

src/api目录下创建index.js文件,没有api文件夹的可以自己创建。

// index.js
import request from "@/utils/request";export function login(data) {return request("/api/login", "get", data);
}export function loginOut(data) {return request("/api/login-out", "post", data);
}export function fileDownload(data) {return request("/api/file-download", "download", data);
}

注意:这里的index.js命名并非唯一,任意名称皆可,建议不同模块采用不同的命名予以区分,这样会方便管理。

到这一步,所有的封装工作基本都已经完成了,剩下的就是使用了。

四、使用

使用非常的简单,在.vue文件中引入后,就可以直接调用了。

<script>
import { login, loginOut, fileDownload } from "@/api/index";
export default {data() {return {form: {username: "",password: "",};},methods: {_login() {const data = this.form;login(data).then((res) => {this.$message.success(res.message)});},}
}
</script>

至此,已完成axiosvue项目中的封装与使用。

http://www.laogonggong.com/news/70756.html

相关文章:

  • 手机传奇网站网站建设 付款方式
  • 北京 网站建设|小程序|软件开发|app开发公司做淘宝那样的网站
  • 男女做暧昧试看网站修改wordpress布局
  • 自适应网站制作简创网络小程序致美发型设计
  • 专业的外贸行业网站制作设计工业
  • 做网站优化价格公司网站开发制作公司
  • 免费建站有哪些在广州注册一个公司要多少钱
  • 小程序建站模板淘宝这种网站怎么做的
  • 电子商务网站建设服务wordpress ajax插件
  • NET网站开发程序员招聘保定seo网站推广
  • 温州网站建设哪家专业wordpress 占有率
  • wordpress免费建站教程公司前台设计
  • 网站开发怎么做账专业网站建设机构
  • seo站长博客文化馆互联网站建设方案
  • 无极磁铁网站jsp网站开发软件
  • 征婚网站咋做wordpress 顶部图片
  • 微信朋友圈推广怎么做网站wordpress阿里云云存储
  • 贷款公司通过做网站来给予平台贷款如何做好区县外宣网站建设
  • 网站优化策略分析wordpress安装详解
  • 做网站用vs做精品课程网站需要啥素材
  • 万网域名注册后怎么样做网站网上开店货源怎么找
  • 韩国唯美网站设计外贸网站建设哪家公司比较好
  • 婚庆公司网站建设策划书.doc百度号码
  • 做电影网站投资多少在线资源链接
  • 企业网站的建设 摘要企业查询系统官网入口
  • 怎么看网站用什么平台做的网站建设的规划书
  • 顺德定制网站建设腾讯企点聊天记录怎么恢复
  • 企业网站建设开发WordPress 模板 自适应
  • 网站开发好学刷排名的软件是什么
  • 素材免费网站关于网站建设领导分工