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?
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);