a.programmer
a.programmer

Reputation: 57

How can i fix refresh page after add parameters to url in php or javascript?

i am trying to refresh page in php and javascript but it is not working correctly. i used multiple functions and codes but i couldn t find a good answer . i used below javascript code. but it refresh multiple time and non stop.

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('&'); 
}

i also use :

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

but id add parameter to url infinity. i just want to add one parameter or maybe two parameters in url. how can i fix it? thanks.

Upvotes: 1

Views: 936

Answers (1)

hong4rc
hong4rc

Reputation: 4113

Check your paramName exist, if not reload with param:

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();
}

or you can use $_GET in php to render js code reload or not.

Upvotes: 1

Related Questions