将参数添加到php或javascript中的网址后,如何修复刷新页面?

时间:2019-03-24 15:57:30

标签: javascript php

我正在尝试刷新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无限。 我只想在网址中添加一个参数或两个参数。 我该如何解决? 谢谢。

1 个答案:

答案 0 :(得分:1)

如果没有使用参数重新加载,请检查您的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();
}

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