OpenLayers OpenLayers

Ticket #380: url_params.patch

File url_params.patch, 1.5 kB (added by tschaub, 2 years ago)

patch to respect url search string parameters

  • HTTPRequest.js

    old new  
    115115        // create a new params hashtable with all the layer params and the  
    116116        // new params together. then convert to string 
    117117        var allParams = OpenLayers.Util.extend(new Object(), this.params); 
    118         var allParams = OpenLayers.Util.extend(allParams, newParams); 
     118        allParams = OpenLayers.Util.extend(allParams, newParams); 
     119        // ignore parameters that are already in the url search string 
     120        var urlParams = OpenLayers.Util.upperCaseObject( 
     121                            OpenLayers.Util.getArgs(url)); 
     122        for(var key in allParams) { 
     123            if(key.toUpperCase() in urlParams) { 
     124                delete allParams[key]; 
     125            } 
     126        } 
    119127        var paramsString = OpenLayers.Util.getParameterString(allParams); 
    120128 
    121129        if (paramsString != "") { 
    122             var lastServerChar = this.url.charAt(this.url.length - 1); 
     130            var lastServerChar = url.charAt(url.length - 1); 
    123131            if ((lastServerChar == "&") || (lastServerChar == "?")) { 
    124132                requestString += paramsString; 
    125133            } else { 
    126                 if (this.url.indexOf('?') == -1) { 
     134                if (url.indexOf('?') == -1) { 
    127135                    //serverPath has no ? -- add one 
    128136                    requestString += '?' + paramsString; 
    129137                } else {