介绍vue项目中的axios请求(get和post)
一、先安装axios依赖,还有qs依赖
npm install axios --save
npm install qs --save
qs依赖包用post请求需要用到的
插入一个知识点:
npm install X --save 会把依赖包安装在生产环境中,并且把依赖包名称添加到 package.json 文件 dependencies。
而如果npm install X --save-dev则会把依赖包安装在开发环境中,并且添加到 package.json 文件 devDependencies
如果vue项目要部署上线,为防止依赖包失效,一般采用–save
二、在main.js入口引用
import qs from 'qs';
import axios from "axios";
//下面是将$axios和$qs挂在原型上,以便在实例中能用 this.$axios能够拿到
Vue.prototype.$axios = axios;
Vue.prototype.$qs = qs;
三、定义全局变量复用域名地址
开发中的url一般是由协议+域名+端口+接口路由+参数组成
一般 协议+域名 这两个部分是在axios是需要一直被复用的,所以可以设置一个专业的全局变量模块脚本文件,在模块里直接定义初始值,用export default 暴露出去,再入口文件main.js里面引入这个文件地址,并且使用Vue.prototype挂载到vue实例上面
- 首先在static文件下面的config文件里面新建一个 global.js文件(命名随意)
- 在global.js文件下定义全局变量,这个项目我是定义服务器地址。

- 在main.js入口文件引用并挂载
import Global from '../static/config/global' //引用
Vue.prototype.GLOBAL = Global; //挂载原型,可以使用this.GLOBAL拿到global.js的内容
四、请求后台接口数据(get请求和post请求)
1.get请求
- 不需要带参数的get请求
this.$axios.get(this.GLOBAL.host.+“后台接口地址”).then(res => {
//获取你需要用到的数据
})
- 需要带参数的get请求
this.$axios.get(this.GLOBAL.host.+“后台接口地址”,{
params:{
phone:12345678 //参数,键值对,key值:value值
name:hh
}
}).then(res => {
//获取你需要用到的数据
});
2.post请求
var data = {phone:12345678,name:hh} //定义一个data储存需要带的参数
this.$axios.post(this.GLOBAL.host+“后台接口地址”,this.$qs.stringify(data)
).then(res =>{
//获取你需要的数据
});
五、 全部代码
// main.js文件
import axios from "axios";
import qs from 'qs';
import Global from '../static/config/global';
Vue.prototype.$axios = axios
Vue.prototype.$qs = qs;
Vue.prototype.GLOBAL = Global;
// global.js文件
const host = '协议+域名地址+端口';
export default {
host
}
// 组件中发送axios请求(举个例子)
<template>
<div class="sort">
<li v-for="cate in categoryList" >{{cate.name}}</li>
</div>
</template>
<script>
export default {
created(){
this.getCategory();
},
data(){
return{
categoryList:[]
}
},
methods:{
getCategory:function(){
this.$axios.get(this.GLOBAL.host+"/虚拟接口/a/all_category").then(res => {
var result=res.data;
if(result.code==0){
this.categoryList=result.data;
}
});
}
}
}
</script>
<style scoped>
/*样式*/
</style>
来源:https://segmentfault.com/a/1190000016653561
介绍vue项目中的axios请求(get和post)的更多相关文章
- 在vue项目中使用axios发送FormData
这个是axios的中文文档,挺详细的: https://www.kancloud.cn/luponu/axios/873153 文档中的 使用 application/x-www-form-ur ...
- 在vue项目中的axios使用配置记录
默认vue项目中已经安装axios,基于element-ui开发,主要记录配置的相关. axiosConfig.js import Vue from 'vue' import axios from ' ...
- vue项目中关于axios的简单使用
axios介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 官方仓库:https://github.com/axios/axios 中文文档:htt ...
- 分享我在 vue 项目中关于 api 请求的一些实现及项目框架
本文主要简单分享以下四点 如何使用 axios 如何隔离配置 如何模拟数据 分享自己的项目框架 本文主要目的为以下三点 希望能够帮到一些人 希望能够得到一些建议 奉上一个使用Vue的模板框架 我只是把 ...
- Vue项目中的http请求统一管理
module.exports = { dev: { // Paths assetsSubDirectory: '/', assetsPublicPath: '/', proxyTable: { /op ...
- 在vue项目中使用axios
安装 cnpm i axios --save-dev 在项目main.js中全局引用 import axios from "axios" Vue.prototype.$http=a ...
- vue项目中对axios的二次封装
近来在使用vue重构公司m站时,使用了axios来进行数据的请求,由于项目的需要,对axios进行了二次封装,点击进入axios //引入axios import axios from 'axios' ...
- vue项目中使用axios上传图片等文件
form表单提交图片会刷新页面,也可以时form绑定到一个隐藏的iframe上,可以实现无刷新提交数据. html代码: <input name="file" type=&q ...
- vue项目中Webpack-dev-server的proxy用法
问题:在VUE项目中,需要请求后台接口获取数据,这时往往会出现跨域问题 解决方法:在vue.config.js中devServer配置proxy 常用的场景 1. 请求/api/XXX现在都会代理到请 ...
随机推荐
- mysql三表联合查询,结果集合并
参考: mysql 结果集去重复值并合并成一行 SQL 三表联查 数据库三表连接查询怎么做 合并: MySQL中group_concat函数 完整的语法如下: group_concat([DISTIN ...
- (转)AngularJS中使用的表单验证
原文 http://www.cnblogs.com/woshinidezhu/p/Form-validation-with-AngularJS.html 客户端表单验证是AngularJS里面最酷的 ...
- 如何用SPSS做联合分析
如何用SPSS做联合分析 如果产品的描述是由几个属性特征决定的,比如说mp3的音质.外形.容量.价格等等,商家为了确定哪个属性对消费者的影响最大,以及预测什么样的属性组合最受消费者的欢迎,选择的办法应 ...
- k8s 各个概念解释
pods , k8s 的核心, 所有的的操作都是围绕 pod , pod 可以认为是多个容器的捆绑.pod 里的容器里共享 cpu 网络 存储. ...
- Java内功修炼系列一工厂模式
工厂模式是一种创建型模式,它提供了一种新的创建对象的方式,一般情况下我们都习惯用new关键字直接创建对象.有时候会遇到这种情况,我们需要根据具体的场景选择创建什么类型的对象,可能有多种类型都能选择,但 ...
- PAT甲级——A1011 World Cup Betting
With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...
- Maven实战06_坐标和邮件服务模块
1:何为Maven坐标 为了能够自动化地解析任何一个Java构件,Maven就必须要将其唯一标识,这就是依赖管理的底层基础--坐标. 学过数学的人都知道平面直角坐标系,x,y分别为其横,纵坐标,将会在 ...
- docker 安装redis 并配置外网可以访问 - flymoringbird的博客 - CSDN博客
原文:docker 安装redis 并配置外网可以访问 - flymoringbird的博客 - CSDN博客 端口映射,data目录映射,配置文件映射(在当前目录下进行启动). docker run ...
- 玩转vue的slot内容分发
vue的内容分发非常适合"固定部分+动态部分"的组件的场景,固定部分可以是结构固定,也可以是逻辑固定,比如下拉loading,下拉loading只是中间内容是动态的,而拉到底部都会 ...
- 《数据结构与算法分析——C语言描述》ADT实现(NO.00) : 链表(Linked-List)
开始学习数据结构,使用的教材是机械工业出版社的<数据结构与算法分析——C语言描述>,计划将书中的ADT用C语言实现一遍,记录于此.下面是第一个最简单的结构——链表. 链表(Linked-L ...