首页 > 解决方案 > 在 php 或 javascript 中将参数添加到 url 后,如何修复刷新页面?

问题描述

我正在尝试用 php 和 javascript 刷新页面,但它无法正常工作。我使用了多个函数和代码,但我找不到一个好的答案。我在下面使用了javascript代码。但它会多次刷新并且不停。

function insertParam(key, value)
{
key = encodeURI(key); value = encodeURI(value);

var kvp = document.location.search.substr(1).split('&');

var i=kvp.length; var x; while(i--) 
{
    x = kvp[i].split('=');

    if (x[0]==key)
    {
        x[1] = value;
        kvp[i] = x.join('=');
        break;
    }
}

if(i<0) {kvp[kvp.length] = [key,value].join('=');}

//this will reload the page, it's likely better to store this until finished
document.location.search = kvp.join('&'); 
}

我也使用:

var url = window.location.href;    
if (url.indexOf('?') > -1){
 url += '&param=1'
 }else{
 url += '?param=1'
 }
 window.location.href = url;

但是 id 将参数添加到 url 无穷大。我只想在 url 中添加一个参数或两个参数。我该如何解决?谢谢。

标签: javascriptphp

解决方案


检查您的paramName存在,如果不使用参数重新加载:

var paramName = 'param';

var url = new URL(window.location.href);

var searchParams = new URLSearchParams(url.search); 
if (!searchParams.get(paramName)) {
    searchParams.append(paramName, 'value');

    url.search = searchParams.toString();
    window.location.href = url.toString();
}

或者您可以$_GET在 php 中使用来渲染 js 代码是否重新加载。


推荐阅读