在Javascript中使用参数创建网址

时间:2019-05-04 22:50:41

标签: javascript url

我正在尝试创建用于产品过滤的网址。 我需要的网址是www.example.com/category/?brand=apple|windows

如果参数(品牌)存在,则用分隔符|添加给定值。 如果该值已经存在,则不执行任何操作。

还具有多个参数,可以找到是否需要添加?。或&。

我尝试了一些教程,但是找不到任何解决方案。

1 个答案:

答案 0 :(得分:0)

您可以重建所有请求。

var filters = {
    brand : ['apple', 'windows'],
    color: ['black', 'white']
};


var getFilterURL = function(_filters){
  var keys = Object.keys(_filters);
  var loc = location.pathname;
  var params = "";
  
  for(var i =0; i < keys.length; i++){
  	if(_filters[keys[i]].length > 0){
	  	params += "&" + keys[i] + "=" + _filters[keys[i]].join('|')		
    }
  }
  
  if(params != ""){
    loc += "?" + params.substring(1);
  }
  
  return loc;
}


console.log(getFilterURL(filters));