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类,兼容IE及Firefox
Jun 23 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
Dec 17 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
Sep 04 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
Sep 06 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
JavaScript之filter_动力节点Java学院整理
Jun 28 Javascript
浅谈pc端rem字体设置的问题
Aug 03 Javascript
浅谈Angular路由复用策略
Oct 04 Javascript
JavaScript ES6常用基础知识总结
Feb 09 Javascript
详解小程序云开发数据库
May 20 Javascript
JS动态图片的实现方法完整示例
Jan 13 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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
用于table内容排序
2006/07/21 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
python遍历数组的方法小结
2015/04/30 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
数控技术学生的自我评价
2014/02/15 职场文书
难忘的一天教学反思
2014/04/30 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android