Fix #5730 - Ignore null/undef. values in uri.appendParams

This commit is contained in:
Alexandre Dubé
2016-08-15 10:49:36 -04:00
parent 0ffc39e70f
commit 3959e9b76f

View File

@@ -10,9 +10,14 @@ goog.provide('ol.uri');
* @return {string} The new URI.
*/
ol.uri.appendParams = function(uri, params) {
var qs = Object.keys(params).map(function(k) {
return k + '=' + encodeURIComponent(params[k]);
}).join('&');
var keyParams = [];
// Skip any null or undefined parameter values
Object.keys(params).forEach(function(k) {
if (params[k] !== null && params[k] !== undefined) {
keyParams.push(k + '=' + encodeURIComponent(params[k]));
}
});
var qs = keyParams.join('&');
// remove any trailing ? or &
uri = uri.replace(/[?&]$/, '');
// append ? or & depending on whether uri has existing parameters