如果我有以下内容: http://www.domain.com/myscript?x1=v1&x2=v2
我想用其他数据{x3:v3,x4:v4}重新加载此页面。没有操纵原始网址的简单方法是什么?
答案 0 :(得分:0)
使用window.location
var original_url = window.location;
window.location = original_url + "&x3=data3&x4=data4";
编辑:您可以使用此功能更新网址中的值:
/**
* http://stackoverflow.com/a/10997390/11236
*/
function updateURLParameter(url, param, paramVal){
var newAdditionalURL = "";
var tempArray = url.split("?");
var baseURL = tempArray[0];
var additionalURL = tempArray[1];
var temp = "";
if (additionalURL) {
tempArray = additionalURL.split("&");
for (i=0; i<tempArray.length; i++){
if(tempArray[i].split('=')[0] != param){
newAdditionalURL += temp + tempArray[i];
temp = "&";
}
}
}
var rows_txt = temp + "" + param + "=" + paramVal;
return baseURL + "?" + newAdditionalURL + rows_txt;
}
你可以使用它:
var x1 = updateURLParameter(window.location.href, 'x1', 'updatedData1');
var url = updateURLParameter(x1, 'x2', 'updatedData2');
window.location = url;