vue2项目使用axios发送请求
前言:在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource。
目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,下面来具体介绍一下axios的使用。
项目中安装axios
cnpm install axios -S
每个需要请求的组件中都需要引入axios,如果觉得麻烦,可以axios改写成Vue的原型属性,在使用的时候,就不需要每个组件都去引用。
将axios改写成Vue的原型属性
1、在main.js中引入axios
import axios from 'axios'
2、写成vue的原型属性
Vue.prototype.$http = axios
在main.js中添加这两行代码之后,就能直接在组件中使用axios了
使用方式
this.$http.post(url,params).then(function (response) {
//请求成功
}).catch(function (error) {
//请求失败
});
实际应用
假设我们需要请求的接口是:http://www.liuliangu.cn:8067/index/data/
如果是开发环境,我们请求的接口如果存在跨域问题,需要配置代理
在vue-cli的config文件下面的index.js里有一个参数叫proxyTable
配置proxyTable的时候本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。
具体配置代码:
// 配置代理
proxyTable: {
'/api':{ // api为匹配项
target:'http://www.liuliangu.cn:8067', // 设置代理目标
changeOrigin: true,
pathRewrite: { // 重写路径
'^/api': '/'
}
}
}
组件中请求的具体代码:
this.$http.post('/api/index/data/', qs.stringify({
jobName: 'getSiteProductAnalysis',
DateType: this.DateType
})).then(function (response) {
console.log(response)
}).catch(function (error) {
console.log(error);
});
注意
在vue2中使用axios,我们请求的参数仍为json类型,是并没有序列化的。我们需要使用querystring解决该问题
需要先引入 import qs from 'qs';
传入参数的时候转下格式,qs.stringify(data)
这样,我们就能正常请求访问到数据了。
生成环境下,生产代码应该使用npm run build然后把dist放到nginx服务器上,在nginx上配置代理地址。
vue2项目使用axios发送请求的更多相关文章
- vue项目使用axios发送请求让ajax请求头部携带cookie
最近做vue项目时遇到登录权限问题,登录以后再发送的请求头部并没有携带登录后设置的cookie,导致后台无法校验其是否登录.检查发现是vue项目中使用axios发送ajax请求导致的.查看文档得知ax ...
- Vue项目中使用Vuex + axios发送请求
本文是受多篇类似博文的影响写成的,内容也大致相同.无意抄袭,只是为了总结出一份自己的经验. 一直以来,在使用Vue进行开发时,每当涉及到前后端交互都是在每个函数中单独的写代码,这样一来加大了工作量,二 ...
- vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete)
vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete) 手把手式笔记 Axios配置 安装 axios ...
- 【手摸手,带你搭建前后端分离商城系统】02 VUE-CLI 脚手架生成基本项目,axios配置请求、解决跨域问题
[手摸手,带你搭建前后端分离商城系统]02 VUE-CLI 脚手架生成基本项目,axios配置请求.解决跨域问题. 回顾一下上一节我们学习到的内容.已经将一个 usm_admin 后台用户 表的基本增 ...
- vue2.0项目实战(3)使用axios发送请求
在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -> 尤 ...
- vue2.0项目实战使用axios发送请求
在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -> 尤 ...
- vue中使用axios发送请求
我们知道,vue2.0以后,vue就不再对vue-resource进行更新,而是推荐axios,而大型项目都会使用 Vuex 来管理数据,所以这篇博客将结合两者来发送请求 1.安装axios cnpm ...
- Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求
Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios ...
- Vue笔记:使用 axios 发送请求
在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -> 尤 ...
随机推荐
- ps_cc切片
web前端开发的工作流程的第一步就是根据ui给的psd来还原设计图样貌. 可是一打开满屏的参考线.这时我们可以alt+v+d清空参考线 这时可以按alt+鼠标拖放图片.同时也可以按F进入半屏和匀速连按 ...
- Ubuntu16.04修改内核启动
写这篇文章一是为了对遇到同样问题的人提供一个参考,二来也是为了自己便于总结和查阅.希望大神勿喷. 好了,废话不多说了,转入正题. 前几天给自己的电脑装了个Ubuntu16.04LTS,自己顺手就把里边 ...
- Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方
Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方案 >>>>>>>>>>>>>> ...
- (转)Spring并发访问的线程安全性问题(高度总结)
下面的记录对spring中并发的总结.理论分析参考Spring中Singleton模式的线程安全,建议先看 spring中的并发访问题: 我们知道在一般情况下,只有无状态的Bean才可以在多线程环境下 ...
- 【CSS3】块级元素与行内元素的区别
一.行内元素与块级函数的三个区别 行内元素的特点: 和其他元素都在一行上: 高,行高及外边距和内边距部分可改变: 宽度只与内容有关: 行内元素只能容纳文本或者其他行内元素. 行内元素设置width无效 ...
- iptables中DNAT的配置方法
1.一对一流量完全DNAT 首先说一下网络环境,普通主机一台做防火墙用,网卡两块 eth0 192.168.0.1 内网 eth1 202.202.202.1 外网 内网中一台主机 192.168. ...
- Android学习笔记-ScrollView(滚动条)
本节引言: 本节带来的是Android基本UI控件中的第十个:ScrollView(滚动条),或者我们应该叫他 竖直滚动条,对应的另外一个水平方向上的滚动条:HorizontalScrollView, ...
- Linux 下安装jetty服务器
jetty和我们通常使用的tomcat一样,是一个开源的servlet容器,特点是轻量易部署,一方面jetty可以作为web容器使用,另一方面也是最一般的方式是jetty以一组jar包的形式发布,所以 ...
- Redis-主从配置了解
集群的作用: 主从备份, 防止主机宕机(相当于从服务器为主服务器担任备份的作用) 读写分离, 分担master的任务 任务分离, 如从服务器分别分担备份工作和计算工作 redis集群方式 星形: 众多 ...
- Java基础之TCP与UDP
OSI 7层参考模型 物理层 --> 数据链路层 --> 网络层 --> 传输层 --> 会话层 --> 表示层 --> 应用层 按此顺序称为拆包,反之为封包. T ...