zoukankan      html  css  js  c++  java
  • vue框架搭建axios使用 web

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

    本文重点介绍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官方推荐)方案,待详细研究后再来补充
     
     
  • 相关阅读:
    洛谷——P1518 两只塔姆沃斯牛 The Tamworth Two
    VIjos——V 1782 借教室 | | 洛谷——P1083 借教室
    POJ——T3160 Father Christmas flymouse
    洛谷——P1155 双栈排序
    CODEVS——T1052 地鼠游戏
    python(8)- python基础数据类型
    张槎地铁站定位综合枢纽 与多条重要轨道交汇
    【佛山】地铁2号线“海口站”改“张槎站”设7换乘站
    绝对干货:保险公司决策分析系统建设方案
    android的helloworld工程目录学习
  • 原文地址:https://www.cnblogs.com/weichen913/p/9289221.html
Copyright © 2011-2022 走看看