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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
Aug 11 Javascript
瀑布流布局代码一例
Apr 11 Javascript
js清空表单数据的两种方式(遍历+reset)
Jul 18 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
javascript实现禁止复制网页内容汇总
Dec 30 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
js和C# 时间日期格式转换的简单实例
May 28 Javascript
vue-router动态设置页面title的实例讲解
Aug 30 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
解决Nuxt使用axios跨域问题
Jul 06 Javascript
Vue filter 过滤器、以及在table中的使用介绍
Sep 07 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文本数据库的搜索方法
2006/10/09 PHP
用Socket发送电子邮件
2006/10/09 PHP
xml+php动态载入与分页
2006/10/09 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
php处理复杂xml数据示例
2016/07/11 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
appium+python adb常用命令分享
2020/03/06 Python
Python如何实现的二分查找算法
2020/05/27 Python
python Gabor滤波器讲解
2020/10/26 Python
几个常见的消息中间件(MOM)
2014/01/08 面试题
介绍一下Ruby的多线程处理
2013/02/01 面试题
基于Python 函数和方法的区别说明
2021/03/24 Python
毕业生就业自荐信
2013/12/04 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
讲党性心得体会
2014/09/03 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏
mysql中关键词exists的用法实例详解
2022/06/10 MySQL
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android