JavaScript中的URL参数未更新

URL Parameters in JavaScript Not Updating

本文关键字:更新 参数 URL 中的 JavaScript      更新时间:2023-09-26

我试图在一个页面上创建一个URL参数,然后使用JavaScript在另一个页面上读取它。一切都运行得很好,直到我意识到,一旦使用了术语,同一页面将不会从编辑器更新为页面中使用的当前代码。例如,当我没有向页面添加任何UI时,我使用了术语"狗"。在添加了一些UI后,我使用了相同的术语,没有任何更新。然后我尝试了另一个随机的术语,它出现在UI中。

这是第一页上的代码,它指向搜索页面:

function submitSearch(){
  var trm = document.getElementById("searchFld").value.toLowerCase();
  window.location = '/search.html?term='+trm;
}
下面是第二页的代码(函数加载被代码体称为onload):
var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;
    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};
function load(){
var trm = getUrlParameter('term');
document.title = 'Search for "' + trm + '"';
}

希望我已经解释得足够清楚了…谢谢!

试着使用以下命令:

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/['[']]/g, "''$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/'+/g, " "));
}
function load(){
var trm = getParameterByName('term');
document.title = 'Search for "' + trm + '"';
}
window.onload = function() {
  load();
};

获取参数的源代码