diff options
| author | Vojta Jina | 2011-05-03 09:40:39 +0200 | 
|---|---|---|
| committer | Igor Minar | 2011-05-19 09:43:56 -0700 | 
| commit | 9f56af9c15e1096033c91c2619f7f7f0115d0032 (patch) | |
| tree | 1818ce436a4ea4b80189af5cc28f83dc1e28904b /src/Browser.js | |
| parent | c5f0342ad87ba91d43e8b99bfc82039cdbf998a2 (diff) | |
| download | angular.js-9f56af9c15e1096033c91c2619f7f7f0115d0032.tar.bz2 | |
XHR should add Content-type header only for POST
Sending Content-type header causes JSTD (Jetty) proxy to change GET methods into POST.
Diffstat (limited to 'src/Browser.js')
| -rw-r--r-- | src/Browser.js | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/src/Browser.js b/src/Browser.js index 55439762..b10c43cf 100644 --- a/src/Browser.js +++ b/src/Browser.js @@ -7,10 +7,14 @@ var XHR = window.XMLHttpRequest || function () {    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e3) {}    throw new Error("This browser does not support XMLHttpRequest.");  }; + +// default xhr headers  var XHR_HEADERS = { -  "Content-Type": "application/x-www-form-urlencoded", -  "Accept": "application/json, text/plain, */*", -  "X-Requested-With": "XMLHttpRequest" +  DEFAULT: { +    "Accept": "application/json, text/plain, */*", +    "X-Requested-With": "XMLHttpRequest" +  }, +  POST: {'Content-Type': 'application/x-www-form-urlencoded'}  };  /** @@ -103,8 +107,9 @@ function Browser(window, document, body, XHR, $log) {      } else {        var xhr = new XHR();        xhr.open(method, url, true); -      forEach(extend(XHR_HEADERS, headers || {}), function(value, key){ -        if (value) xhr.setRequestHeader(key, value); +      forEach(extend({}, XHR_HEADERS.DEFAULT, XHR_HEADERS[uppercase(method)] || {}, headers || {}), +        function(value, key) { +          if (value) xhr.setRequestHeader(key, value);        });        xhr.onreadystatechange = function() {          if (xhr.readyState == 4) { | 
