vue框架搭建之axios使用教程
前后端数据交互作为项目最基础需求(静态的除外),同时也是项目中最重要的需求。
本文重点介绍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()方案,待详细研究后再来补充
总结
以上所述是小编给大家介绍的vue框架搭建之axios使用教程,希望对大家有所帮助
推荐阅读
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之五全局异常处理
-
PHP框架之使用Zend Framework中的Zend_Mail发送邮件讲解_PHP教程
-
vue的注意规范之v-if 与 v-for 一起使用教程
-
vue-cli搭建的项目中使用Echarts教程
-
使用eclipse + maven一步步搭建SSM框架教程详解
-
使用IntelliJ IDEA搭建SSM框架的图文教程
-
使用IntelliJ IDEA搭建SSM框架的图文教程
-
使用IDEA配置Maven搭建开发框架ssm教程
-
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
-
使用IDEA配置Maven搭建开发框架ssm教程