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

  • 相关阅读:
    2013-9-29 通信原理学习笔记
    《大数据时代》阅读笔记
    《人人都是产品经理》阅读笔记一
    2013-8-13 信道接入技术研究学习
    2013-8-6 ubuntu基本操作
    2013-7-30 802.1X企业级加密
    2013-7-29 杂记
    2013-7-28 802.11n帧聚合
    2013-7-27 802.1X学习
    vue+node+mongoDB前后端分离个人博客(入门向)
  • 原文地址:https://www.cnblogs.com/SongYiJian/p/5261000.html
Copyright © 2011-2022 走看看