zoukankan      html  css  js  c++  java
  • vue2.0封装自己的ajax模块

    最近在完成公司项目,技术栈为vue2.0+vux+vuex+webpack+echarts...另外还有vue-router及vue-loader(webpack下loader插件 可以把.vue文件 输出成组件).

    考虑将ajax封装,目的有两个:

    1、页面内写法简单,格式和国网平台格式一致,后期无需再更改代码

    2、复用性

    3、域名,端口等信息可以实现统一管理。

    首先,先在components模块内定义自己的ajax,此处使用install方法,目的是可以在main.js中使用vue.use()方法将其注入vue实例中,具体代码如下:

    export default{
      install(Vue){
        Vue.prototype.http = function (url,fn) {
          let xhr = new XMLHttpRequest()
          url="../../static/data/textDataJson/"+url;
          xhr.open("get", url, true)
          xhr.onreadystatechange = function () {
            let XMLHttpReq = xhr;
            if (XMLHttpReq.readyState == 4) {
              if (XMLHttpReq.status == 200) {
                let text = XMLHttpReq.responseText;
                let res = JSON.parse(text);
                fn(res)
              }
            }
          };
          xhr.send()
        }
      }
    }

    然后,在main.js中引入此模块:

    import http from './components/http.js'
    Vue.use(http);

    最后,在模块的methods内引用此方法如下:

    methods:{
          downLoadEveryData:function(){
            let callBack=(res)=>{console.log(res);this.chartDataEvery=res;};
            this.http('manageRanderChart.json',callBack)
          }
        }

    以上内容为本人原创,请勿转载

  • 相关阅读:
    mysql--笔记1
    html-day04
    转换流 Properties集合 序列化 工具
    html--笔记day03
    map集合的应用
    关于IO流---笔记1
    关于什么是编码表的说明
    实现斗地主纸牌游戏---洗牌 发牌 看底牌的具体功能------Map集合存储方法 遍历的应用
    计算属性
    组件-配置组价
  • 原文地址:https://www.cnblogs.com/jihuaqiang/p/7010365.html
Copyright © 2011-2022 走看看