当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue框架搭建之axios使用教程

vue框架搭建之axios使用教程

2018年08月08日  | 移动技术网IT编程  | 我要评论

台州宅男宅女,乔圣衣,静雅思听官网

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

本文重点介绍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使用教程,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网