介绍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现在都会代理到请 ...
随机推荐
- C++面向对象高级编程(上)-Geekband
头文件和类声明 一定要注意使用防卫式的头文件声明: #ifndef _CLASSHEAD_ #define _CLASSHEAD_ . . . . #endif 基于对象和面向对象 : 基于对象 单一 ...
- 2019-8-26-当-ASP.NET-Core-链接找不到时可能的原因
title author date CreateTime categories 当 ASP.NET Core 链接找不到时可能的原因 lindexi 2019-08-26 18:52:28 +0800 ...
- Groupadd- Linux必学的60个命令
1.作用 groupadd命令用于将新组加入系统. 2.格式 groupadd [-g gid] [-o]] [-r] [-f] groupname 3.主要参数 -g gid:指定组ID号. -o: ...
- sscanf linux-c从一个字符串中读进与指定格式相符的数据
https://www.cnblogs.com/lanjianhappy/p/6861728.html 函数原型: Int sscanf( string str, string fmt, mixed ...
- windows API 第 11 篇 GetCurrentDirectory SetCurrentDirectory
GetCurrentDirectory函数获得当前文件所在的目录,并不是进程的目录(debug 和 release),它和GetCommandLine不同这里只讲 GetCurrentDirector ...
- 跟我一起了解koa之在koa中使用redis
第一步安装中间件 cnpm i koa-generic-session koa-redis 第二步引入中间件 在中间件中写入session 浏览器中会存储数据 第三步关于Redis来读取和存储数据 读 ...
- 验证sll证书与密钥
$crtParse = openssl_x509_parse($ssl_content); //$ssl_content 证书内容 .crt文件内容 if (!$crtParse) { return ...
- Make the Most (Hackerrank Codeagon)
题目链接 Problem Statement Codenation is sending N of its employees to a High Profile Business Conferenc ...
- 创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息。
创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息. <html> & ...
- MyBatis配置文件(二)--settings配置
settings是MyBatis中最复杂的配置,它能影响MyBatis底层的运行,大部分情况下使用默认值,只需要修改一些常用的规则即可.常用规则有自动映射.驼峰命名映射.级联规则.是否启动缓存.执行器 ...