一、先安装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)的更多相关文章

  1. 在vue项目中使用axios发送FormData

    这个是axios的中文文档,挺详细的: https://www.kancloud.cn/luponu/axios/873153 文档中的    使用 application/x-www-form-ur ...

  2. 在vue项目中的axios使用配置记录

    默认vue项目中已经安装axios,基于element-ui开发,主要记录配置的相关. axiosConfig.js import Vue from 'vue' import axios from ' ...

  3. vue项目中关于axios的简单使用

    axios介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 官方仓库:https://github.com/axios/axios 中文文档:htt ...

  4. 分享我在 vue 项目中关于 api 请求的一些实现及项目框架

    本文主要简单分享以下四点 如何使用 axios 如何隔离配置 如何模拟数据 分享自己的项目框架 本文主要目的为以下三点 希望能够帮到一些人 希望能够得到一些建议 奉上一个使用Vue的模板框架 我只是把 ...

  5. Vue项目中的http请求统一管理

    module.exports = { dev: { // Paths assetsSubDirectory: '/', assetsPublicPath: '/', proxyTable: { /op ...

  6. 在vue项目中使用axios

    安装 cnpm i axios --save-dev 在项目main.js中全局引用 import axios from "axios" Vue.prototype.$http=a ...

  7. vue项目中对axios的二次封装

    近来在使用vue重构公司m站时,使用了axios来进行数据的请求,由于项目的需要,对axios进行了二次封装,点击进入axios //引入axios import axios from 'axios' ...

  8. vue项目中使用axios上传图片等文件

    form表单提交图片会刷新页面,也可以时form绑定到一个隐藏的iframe上,可以实现无刷新提交数据. html代码: <input name="file" type=&q ...

  9. vue项目中Webpack-dev-server的proxy用法

    问题:在VUE项目中,需要请求后台接口获取数据,这时往往会出现跨域问题 解决方法:在vue.config.js中devServer配置proxy 常用的场景 1. 请求/api/XXX现在都会代理到请 ...

随机推荐

  1. line-height影响排版

    父级div设置了line-height值,子级div会继承line-height.如果不想子级元素继承,给子级元素设置line-height:normal.

  2. mysql 中将汉字(中文)按照拼音首字母排序

    因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法. 1.如果数据表的某字段的字符编码是 utf8_general_ci,排序写法: ORDER BY ...

  3. 关于判断是安卓还是ios环境跳转下载页

    H5项目中判断是安卓还是iOS手机就跳转到不同的下载页,项目如下https://github.com/JserJser/dailyPush/tree/master/daily6/H5 这个项目里面我比 ...

  4. Range的范围

    range(N,M)的范围应为: [N,M) 例如:

  5. HZOI20190814 B 不等式

    不等式 题目大意:求解满足$L \leqslant(S×x)mod M\leqslant R$的x最小正整数解,无解输出-1 几种部分分: $L==R$,就是$ex_gcd$; 解在$1e6$以内:搜 ...

  6. Python字符串切片操作知识详解

    Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...

  7. Spring MVC(一)--SpringMVC的初始化和流程

    SpringMVC是Spring提供给WEB应用的MVC框架,MVC框架一般来说由三部分组成: Model:模型层,一般由java bean完成,主要是进行数据库操作: View:视图层,用于前端展示 ...

  8. 数据表中记录明明有,session.get(类.class, id);返回null

    出现null的处理思路首先检查数据库中是否真的有这个记录 确实存在的,用接口查一下最大值,也是存在的,数据库连接正常 写sql也可以查得到 然而诡异的事情出现了 难道是一直在用的dao代码出了问题? ...

  9. JasperReports报表变量13

    报表变量是建立在报表表达式之上的特殊对象.报表变量简化以下任务: 报表,其中大量使用在整个报告模板表达式.这些表达式可以通过使用报表变量只能声明一次. 计数,求和,平均,最低,最高,方差等:报表变量可 ...

  10. 入门servlet:request获取请求参数通用方式

    一.获取请求参数通用方式 1. String getParameter(String name):根据参数名称获取参数值 例:username=flypig&password=2343 2. ...