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"); =>宋
posted on 2016-03-10 10:56 songyijian321 阅读(3968) 评论(0) 编辑 收藏 举报