Search code examples
javascripturlampersand

Can I do this: mysite.com?&var1=value1&var2=value2


Basically, I wrote this code:

var paramStr = '';
for (var n in params) {
    paramStr += '&' + n + '=' + params[n];
}
xhr.open(method, url + '?' + paramStr);

Do I need to remove the first ampersand or can I leave it as is with no side effects?


Solution

  • You can leave it as is.

    www.something.com?&something=something_else is a valid url

    But what I would do so it looks right is add a dummy param:

    var paramStr = '?dummy'; //or any other value
    for (var n in params) {
        paramStr += '&' + n + '=' + params[n];
    }
    xhr.open(method, url + paramStr);
    

    or @slobodan's solution:

    var paramStr = '?'; 
    for (var n in params) {
        paramStr += n + '=' + params[n] + '&'; 
        // because you can have a `&` at the end
    }
    xhr.open(method, url + paramStr);