vue-cli 使用axios的操作方法及整合axios的多种方法


Posted in Javascript onSeptember 12, 2018

1.创建vue脚手架

vue init webpack demo

2.cd 项目根目录,再安装axios

npm install axios -S

3.在main.js中

//把axios赋值到vue的原型上,方便调用
Vue.prototype.$http = axios

4.在调用处

methods:{
  axiosGet(){
  let that = this;
  that.$http.post('http://xxx.168.xx.220:5678/api/user/login',{
  "UserAccount": "string",
   "UserPassword": "string"
  }).then(function(response){
  console.log(response);
  }).catch(function(error){
  console.log(error);
  })
  }
 }

5.可以在main.js中做一些配置

import qs from 'qs'
Vue.prototype.$http = axios
.create({
 baseURL:'http://192.xx.10.xx:5678/api',
    //请求前处理数据
 transformRequest:[function(data){
 console.log(data);
 data=qs.stringify(data);
 return data;
 }],
    //请求等待超时时间则中断
 timeout: 1500,
    //请求后的data处理
 transformResponse: [function (data) {
 console.log(data);
        return data;
    }]
})

6.配置后可以在调用处省略一些代码

that.$http({
 method: 'post',
    //这里的路径是和main.js中的baseURL拼接而来的
 url: '/user/login',
 data: {
  "UserAccount": "string",
  "UserPassword": "string"
    }
 })
 .then(function(response){
   console.log(response);
 }).catch(function(error){
   console.log(error);
 })

补充:vue-cli整合axios的几种方法

Vue这个框架现在在单页面应用方面非常受人欢迎。

基于vue-cli创建的项目怎么样才能更好地处理网络请求?

首选的应该就是axios了

这次给刚接触vue的新手介绍一下axios在vue中如何使用

安装的话自己去官网看

一、不推荐的方法

//在要使用网络请求的组件中导入axios
import axios from 'axios' 
export default {
 name: 'HelloWorld',
 data () {
  return {
   params:{}
  }
 },
 methods: {
//在这里调用网络请求
  request(){
   axios.get(`url${this.params}`).then(result=>{
    console.log(result)
  })
  }
 }
}

这种方法比较麻瓜哪个文件要用就  import axios from 'axios' ,但是太过繁琐,也不利于维护。

二、网络请求较少

//打开main.js全局导入axios
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
//存在prototype中
Vue.prototype.$http = axios
//需要使用axios的其他组件调用时可以通过两种方法
//Vue.$http.get(`url${params}`)
//this.$http.get(`url${params}`)
//但是这样使用会出现一个问题,在单独的js文件中这样做调用不了$http,原因是没有Vue的实例。大多数情况下用这种方法就可以满足大部分需求了
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})

三、推荐方法

用方法二已经可以满足大部分需求了,写的时候也比较爽,但是后期如果接口改变,还要一个个去查找修改,会显得很杂乱

这里推荐一种自己平时的做法

//新建一个JS命名为api
import axios from 'axios' 
//在api中导入axios
let base = '/v1'
//把整个项目的网络请求都写在这个文件中用export导出
export const getproduct = params => { return axios.get(`${base}/product/info/${params}`) }
//这样写方便管理整个项目的网络请求
//在我们要是用这个请求时比如说getproduct
import {
  getproduct
 }from '../api/api';
export default {
 name: 'HelloWorld',
 data () {
  return {
   params:{}
  }
 },
 methods: {
  getProductList(){
   getproduct(this.params).then(result=>{
    console.log(result);
   })
  }
 }
}
//注意我们导出的时候用的是export 所以导入的时候必须带{}

总结

以上所述是小编给大家介绍的vue-cli 使用axios的操作方法及整合axios的多种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用js实现的抽象CSS圆角效果!!
May 03 Javascript
为jQuery.Treeview添加右键菜单的实现代码
Oct 22 Javascript
setTimeout和setInterval的区别你真的了解吗?
Mar 31 Javascript
JS获取整个页面文档的实现代码
Dec 15 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
Jan 15 Javascript
Js base64 加密解密介绍
Oct 11 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
JavaScript实现无刷新上传预览图片功能
Aug 02 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
微信小程序实现星级评价效果
Dec 28 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 #Javascript
bootstrap table表格插件之服务器端分页实例代码
Sep 12 #Javascript
详解html-webpack-plugin插件(用法总结)
Sep 12 #Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
Sep 12 #Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 #Javascript
Vue.js 十五分钟入门图文教程
Sep 12 #Javascript
Vue通过ref父子组件拿值方法
Sep 12 #Javascript
You might like
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
浅析JS中回调函数及用法
2018/07/25 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python插入排序算法的实现代码
2013/11/21 Python
python Django批量导入不重复数据
2016/03/25 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
读书小明星事迹材料
2014/05/03 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers