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 相关文章推荐
Ajax+Json 级联菜单实现代码
Oct 27 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
jquery 卷帘效果实现代码(不同方向)
Feb 05 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
angularjs之$timeout指令详解
Jun 13 Javascript
VUE实现表单元素双向绑定(总结)
Aug 08 Javascript
javascript中的replace函数(带注释demo)
Jan 07 Javascript
JS实现百度搜索框关键字推荐
Feb 17 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过滤危险html代码的函数
2008/07/22 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
PHP代码优化技巧小结
2015/09/29 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python中反射用法实例
2015/03/27 Python
python字符串对其居中显示的方法
2015/07/11 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
Python configparser模块应用过程解析
2020/08/14 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
房地产融资计划书
2014/01/10 职场文书
中学生获奖感言
2014/02/04 职场文书
介绍信范文
2015/01/31 职场文书
行政经理岗位职责
2015/04/15 职场文书
病危通知单
2015/04/17 职场文书
文艺晚会开场白
2015/05/29 职场文书
优秀志愿者感言
2015/08/01 职场文书
聘任书范文大全
2015/09/21 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
JS实现九宫格拼图游戏
2022/06/28 Javascript