如何更改URL以使用JQ添加查询?

时间:2019-03-27 17:31:27

标签: jquery url

好吧,我希望您能在这里为我提供帮助,我在JQ中是个新手,我努力寻找如何自动更改页面URL的方法。

我在这里说明: 我有一个功能,可以在URL中搜索特定查询,然后根据查询的值执行某些操作。这是完成并工作的。 现在,我需要制作一个可以在加载相关页面时更改URL的页面,我不能制作一个通用的页面,因为不是每个页面都应该具有查询,也不是每个页面都应该具有相同的值(因此没有同样的答案),我该怎么做,因为此值是要更改的。 这个想法是,前一个函数将在每个页面上位于一个静态块上,而当后者没有改变页面时将只是“休眠”。因此,只需将后者放在特定的页面中即可更改URL ...

我对location.search以及所有其他东西都进行了修改,但通常会进行无限重定向循环,或者使用www.site.com/en/theUrl/undefined?[myquery]而不是www.site.com/en/theUrl ?[myquery]

这是第一个功能的搜索部分:

	function CheckUrlParams(){
		//Get the URL as String and search for queries 
		var sPageURL = location.search.substring(1);
		//Split the URL string into an array[String]
		var sURLVariables = sPageURL.split("&");
		for (var i = 0; i < sURLVariables.length; i++){
			//Sub-Split the URL array[String] into an array[String]
			var sParameterName = sURLVariables[i].split("=");
			if (sParameterName[0] == "WMV"){
				return sParameterName[1];
			}
		}
	}

查询应该是“?WMV = 123456”

我曾经考虑过类似的事情:

       //Let's say WMVID = 123456
       jQuery(window).ready(function AlterUrlParams (WMVID){
            jQuery(this).attr('href', this.href + '?WMV='+WMVID );
    		location.search = this.href;
    	});

但是我想我并没有真正了解它的工作原理

希望你们能帮助我:)

1 个答案:

答案 0 :(得分:0)

//Let's say WMVID = 123456
jQuery(window).ready(function AlterUrlParams (WMVID){
    if (location.search.indexOf('?WMV='+WMVID) > -1) return;  // will prevent infinite loop
        location.search = '?WMV='+WMVID; // only alter search string
    }
});

location.search上的文档:https://www.w3schools.com/jsref/prop_loc_search.asp