vue框架搭建之axios使用教程

83,848 阅读2分钟

本文重点介绍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: ""
    }//欢迎加入全栈开发交流圈一起学习交流:864305860
  })//面向1-3年前端人员
  .then(function(res){//帮助突破技术瓶颈,提升思维能力
    //接口成功返回结果执行
  })
  .catch(function(err){
      //请求失败或者接口返回失败或者.then()中的代码发生错误时执行
  })
}

4、跨域与代理 在vue本地开发时请求总是发生跨域 解决方案:配置代理 config 下的index.js 文件

`proxyTable: {`
`'/business-app/*'``: {`
`target:` `'[http://](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更多是为了符合规范,并且方便协作 结语

感谢您的观看,如有不足之处,欢迎批评指正。

本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。 对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。 最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。