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 相关文章推荐
利用location.hash实现跨域iframe自适应
May 04 Javascript
js修改table中Td的值(定义td的单击事件)
Jan 10 Javascript
js实现的map方法示例代码
Jan 13 Javascript
jQuery弹出框代码封装DialogHelper
Jan 30 Javascript
JQuery实现鼠标移动图片显示描述层的方法
Jun 25 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
Jan 17 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 Javascript
EasyUI Tree树组件无限循环的解决方法
Sep 27 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
Dec 11 Javascript
layui动态渲染生成select的option值方法
Sep 23 Javascript
一篇文章带你从零快速上手Rollup
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
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
easy_install python包安装管理工具介绍
2013/02/10 Python
浅析Python中的序列化存储的方法
2015/04/28 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
pytorch permute维度转换方法
2018/12/14 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
python 错误处理 assert详解
2020/04/20 Python
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
公司行政经理岗位职责
2013/12/24 职场文书
学生励志演讲稿
2014/01/06 职场文书
合作协议书格式
2014/08/19 职场文书
志愿者个人总结
2015/03/03 职场文书
新闻稿件写作范文
2015/07/18 职场文书