js 将对象转成url参数,url参数转成对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * 获取url的参数,并转成对象 */ function getUrlParamJson() { var url = window.location.href; if (url.indexOf( "?" ) == -1) { return {}; } var obj = {}; url = url.substring(url.indexOf( "?" ) + 1); var arr = url.split( '&' ); var len = arr.length; for ( var a = 0; a < len; a++) { var nv = arr[a].split( '=' ); obj[nv[0]] = unescape(nv[1]); } return obj; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /** * param 将要转为URL参数字符串的对象 * key URL参数字符串的前缀 * encode true/false 是否进行URL编码,默认为true * return URL参数字符串 * var obj={name:'tom','class':{className:'class1'},classMates:[{name:'lily'}]}; output: &name=tom&class.className=class1&classMates[0].name=lily output: &stu.name=tom&stu.class.className=class1&stu.classMates[0].name=lily */ function objectToParam(param, key, encode) { if (param == null ) return '' ; var paramStr = '' ; var t = typeof (param); if (t == 'string' || t == 'number' || t == 'boolean' ) { paramStr += '&' + key + '=' + ((encode == null || encode) ? escape(param) : param); } else { for ( var i in param) { var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i); paramStr += objectToParam(param[i], k, encode); } } return paramStr; }; |
文章属于个人工作备忘录,欢迎指正...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异