zoukankan      html  css  js  c++  java
  • url 取参,json转url参数格式

    前端通过url传参大家一定不陌生 搞个“读,写” 操作方法

    之前写过一个版本,在使用过程中出现了bug ,于是有了这个改进版:

    代码:

    //取url参数 getUrlK("name","对象默认为location" )
    function getUrlK(key, obj) {
        var oobj = obj || window.location.search;
        var arr1 = [];
        if(oobj){
    	    if(/?/.test(oobj)){
            	arr1 = oobj.toString().split('?');
    	    }else{
            	arr1.push(oobj)
    	    };
    	    for(var i = 1; i < arr1.length; i++) {
    	        if(/&/.test(arr1[i])) {
    	            var arr2 = arr1[i].split('&');
    	            for(var j = 0; j < arr2.length; j++) {
    	                if(arr2[j]) {
    	                    var arr3 = arr2[j].split('=');
    	                    if(arr3[0] == key) {
    	                        return decodeURI(arr3[1]);
    	                    }
    	                }
    	            }
    	        } else {
    	            var arr2 = arr1[i].split('=');
    	            if(arr2[0] == key) {
    	                return decodeURI(arr2[1]);
    	            };
    	        };
    	    };
        };
    };
    
    //json转url参数 setUrlK({name:"a"},true编码)
    function setUrlK(ojson) {
        var s='',name, key;
        for(var p in ojson) {
            if(!ojson[p]) {return null;} 
            if(ojson.hasOwnProperty(p)) { name = p };
            key = ojson[p];
            s += "&" + name + "=" + encodeURIComponent(key);
        };
        return s.substring(1,s.length);
    };
    

    “http://192.168.217.1:8020/urljson.html?&name=宋&age=18”

    //应用 ==========
    var data = setUrlK({  =>&name=宋&age=18
      name: "宋",
      age: '18'
    }); 

    getUrlK("name");  =>宋

  • 相关阅读:
    09.非线性-指数增长模型
    08.多元线性回归模型
    07.线性回归模型
    06.齐普夫定律验证
    05.森林火灾模型
    04.沙堆模型
    03.优先链接模型
    02.中心极限定理验证
    centos6字符
    dns解析慢 修改的参数
  • 原文地址:https://www.cnblogs.com/SongYiJian/p/5261000.html
Copyright © 2011-2022 走看看