有没有更好的方法将URL的location.search转换为对象?也许只是更高效或减少?我正在使用jQuery,但纯JS也可以使用.
var query = window.location.search.substring(1),queryPairs = query.split('&'),queryJSON = {};
$.each(queryPairs,function() { queryJSON[this.split('=')[0]] = this.split('=')[1]; });
解决方法
这是一个纯JS函数.解析当前URL的搜索部分并返回一个对象. (对于可读性而言,它有点冗长.)
function searchToObject() {
var pairs = window.location.search.substring(1).split("&"),obj = {},pair,i;
for ( i in pairs ) {
if ( pairs[i] === "" ) continue;
pair = pairs[i].split("=");
obj[ decodeURIComponent( pair[0] ) ] = decodeURIComponent( pair[1] );
}
return obj;
}
在相关的说明中,您不是试图将单个参数存储在“一个JSON”中,而是存储在“一个对象”中.
总结
以上是DEVMAX为你收集整理的jquery – window.location.search查询为JSON全部内容。
如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站 推荐给好友。