zoukankan      html  css  js  c++  java
  • Vue解析一之挂载全局变量与方法

    1、在mian.js里面进行Vue对象的原型连的挂载Vue.prototype.$ajax = Ajax;

    2、使用Mixin:

    
    
    VuVue.mixin({
        data(){
            return {
                Host:window.location.href.split('/gonghui')[0]
            }
        },
        methods:{
            parameterDeal(_parameter){
                var _sender="";
                if(_parameter instanceof Object){
                    for(var k in _parameter){
                        _sender+=k+"="+_parameter[k]+"&";
                    }
                    return _sender.replace(/&$/g,"");
                }else{
                    return _parameter;
                }
            },
            createXMLHttpRequest(){
               try{
                   return new window.XMLHttpRequest();
               }catch(e){
                   try{
                       return new ActiveXObject("MSXML2.XMLHTTP.6.0");
                   }catch(e){
                       try{
                           return new ActiveXObject("MSXML2.XMLHTTP.3.0");
                       }catch(e){
                           try{
                               return new ActiveXObject("MSXML2.XMLHTTP");
                           }catch(e){
                               try{
                                   return new ActiveXObject("Microsoft.XMLHTTP");
                               }catch(e){
                                   throw new Error("该浏览器版本太低,已经被大部分市场淘汰,请升级!!!");
                                   return;
                               }
                           }
                       }
                   }
               }
           },
            $ajax(_method,_url,_async,_parameter,_callBack){
            	_url=this.Host+_url;
                var that=this;
                var _ajax=this.createXMLHttpRequest();
                if(_ajax){
                    _ajax.open(_method,_url,_async);
                    _ajax.onreadystatechange=function(){
                        if(_ajax.readyState==4 && _ajax.status==200){
                            _callBack(JSON.parse(_ajax.responseText));
                        }else{
                     // 	console.log(_ajax.readyState);
                        }
                    }
                    _ajax.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=utf-8");
                    try {
                        _ajax.send(that.parameterDeal(_parameter));
                    } catch (e) {
                        return false;
                    } finally {
                        return false;
                    }
                }
            }
       }
    })
    

      在组件里面使用this.$ajax;this.Host即可使用;

  • 相关阅读:
    http-Content-Type
    ip地址和端口号
    node中的js-核心模块
    http-url 发送请求
    http 发送请求
    node http核心模块
    node 写文件
    bzoj-3170 3170: [Tjoi 2013]松鼠聚会(计算几何)
    codeforces 710E E. Generate a String(dp)
    codeforces 710C C. Magic Odd Square(构造)
  • 原文地址:https://www.cnblogs.com/yiyi17/p/7521179.html
Copyright © 2011-2022 走看看