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 相关文章推荐
Javascript代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
JavaScript mapreduce工作原理简析
Nov 25 Javascript
web网页按比例显示图片实现原理及js代码
Aug 09 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
JS操作JSON方法总结(推荐)
Jun 14 Javascript
javaScript中定义类或对象的五种方式总结
Dec 04 Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
Jun 13 Javascript
layer页面跳转,获取html子节点元素的值方法
Sep 27 Javascript
countUp.js实现数字滚动效果
Oct 18 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
咖啡常见的种类
2021/03/03 新手入门
使用PHP的日期与时间函数技巧
2008/04/24 PHP
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
用jscript实现新建word文档
2007/06/15 Javascript
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python functools模块学习总结
2015/05/09 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
指针和引用有什么区别
2013/01/13 面试题
教育专业个人求职信
2013/12/02 职场文书
村庄绿化方案
2014/05/07 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书