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 阅读(3978) 评论(0) 收藏 举报
浙公网安备 33010602011771号