Fix for #380 from Tim Schaub, with test. Don't overwrite already-existing parameters

in the URL. This makes the precedence of parameters: 
 * params in URL
 * params in Layer
 * DEFAULT_PARAMS on the Layer.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@1907 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2006-11-18 15:19:42 +00:00
parent fb7b5fff56
commit 76850371fe
2 changed files with 18 additions and 2 deletions

View File

@@ -121,7 +121,15 @@ OpenLayers.Layer.HTTPRequest.prototype =
// create a new params hashtable with all the layer params and the
// new params together. then convert to string
var allParams = OpenLayers.Util.extend(new Object(), this.params);
var allParams = OpenLayers.Util.extend(allParams, newParams);
allParams = OpenLayers.Util.extend(allParams, newParams);
// ignore parameters that are already in the url search string
var urlParams = OpenLayers.Util.upperCaseObject(
OpenLayers.Util.getArgs(url));
for(var key in allParams) {
if(key.toUpperCase() in urlParams) {
delete allParams[key];
}
}
var paramsString = OpenLayers.Util.getParameterString(allParams);
if (paramsString != "") {
var lastServerChar = url.charAt(url.length - 1);