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");  =>宋

  • 相关阅读:
    Hibernate的注释该如何使用?每一个注释代表什么意思?
    J2SE总结(一)-------容器
    解决hibernate向mysql插入中文乱码问题(更改MySQL字符集)
    android程序员成长路径的思考
    Fragment总结
    onCreateView的一个细节--Fragment
    屏幕适配
    表驱动法3
    表驱动法2
    表驱动法1
  • 原文地址:https://www.cnblogs.com/SongYiJian/p/5261000.html
Copyright © 2011-2022 走看看