vue框架搭建之axios使用教程


Posted in Javascript onJuly 11, 2018

前后端数据交互作为项目最基础需求(静态的除外),同时也是项目中最重要的需求。

本文重点介绍axios如何配合vue搭建项目框架,而axios的详细使用介绍请移步 使用说明

1、安装

cnpm install axios --save-dev

2、引入

main.js 文件引入:

import Vue from 'vue'//引入vue
import axios from 'axios'//引入axios
Vue.prototype.$axios = axios;//把axios挂载到vue上

3、使用

 getStore(){
      let that = this
      that.$axios({
        method: "post",//指定请求方式
        url: "/business-app/getCityShopList.cgi",//请求接口(相对接口,后面会介绍到)
        data: {
          cityId: cityId,
          data:{},
          isDebug:"1",
          longitude: "",
          latitude: ""
        }
      })
      .then(function(res){
        //接口成功返回结果执行
      })
      .catch(function(err){





//请求失败或者接口返回失败或者.then()中的代码发生错误时执行
      })
    }

4、跨域与代理

在vue本地开发时请求总是发生跨域

解决方案:配置代理

config 下的index.js 文件

proxyTable: {
    '/business-app/*': {
      target: 'http://****:8080',//被代理的接口
      
      changeOrigin: true,
      secure:true // 如果是https接口,需要配置这个参数
    }
  },

当URL以 '/business-app/'层级开端时,把 'http://****:8080' 代理成本地IP

5、 baseURL与代理

两者用途不一样,

baseUrl会附加到你绑定的axios实例(如果是全局的,那就是所有实例)上,即如果get/post的url参数是相对路径(如) /api/c/xx,那就会执行 baseUrl + '/api/c/xx',如果未指定baseUrl,那就走浏览器地址栏里的base + baseUrl。

webpack里的proxyTable是测试环境为了避免浏览器下的跨域访问,而以nodejs代理成同前端页面(即浏览器地址栏)同域的一种处理。指定proxyTable后, axios就不需要指定baseUrl了。proxyTable会把base + '/api/c/xx'代理到【base baseUrl + '/api/c/xx'】的接口地址上。

当然工程发布时,后端和前端也需要发布到同一个域下。

6、axios与vue-axios

先看两者的用法

Vue.prototype.$axios = axios
和
import Vueaxios from ‘vue-axios'
Vue.use(VueAxios,axios)

解释:使用vue-axios更多是为了符合规范,并且方便协作

7、其他待补充

对于跨域的处理,除了采用代理外,也可用JSONP或者Qs(axios官方推荐)方案,待详细研究后再来补充

总结

以上所述是小编给大家介绍的vue框架搭建之axios使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
asp(javascript)全角半角转换代码 dbc2sbc
Aug 06 Javascript
JQuery的ajax基础上的超强GridView展示
Sep 18 Javascript
jQuery学习笔记之jQuery原型属性和方法
Jun 09 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
基于jquery实现放大镜效果
Aug 17 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
May 16 Javascript
js的新生代垃圾回收知识点总结
Aug 22 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 Javascript
vue中动态设置meta标签和title标签的方法
Jul 11 #Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 #Javascript
node.js到底要不要加分号浅析
Jul 11 #Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 #Javascript
Vue如何实现响应式系统
Jul 11 #Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 #Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 #Javascript
You might like
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
获取JavaScript用户自定义类的类名称的代码
2007/03/08 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
多个应用共存的Django配置方法
2018/05/30 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
PyTorch中permute的用法详解
2019/12/30 Python
python中的django是做什么的
2020/07/31 Python
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
生产部统计员岗位职责
2014/01/05 职场文书
应届生自荐信
2014/06/30 职场文书
2014最新实习证明模板
2014/10/02 职场文书
党支部评议意见
2015/06/02 职场文书
无保留意见审计报告
2015/06/05 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS