aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/httpBackend.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/ng/httpBackend.js')
-rw-r--r--src/ng/httpBackend.js17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/ng/httpBackend.js b/src/ng/httpBackend.js
index f52e4611..665c5eec 100644
--- a/src/ng/httpBackend.js
+++ b/src/ng/httpBackend.js
@@ -1,13 +1,18 @@
'use strict';
function createXhr(method) {
- // IE8 doesn't support PATCH method, but the ActiveX object does
- /* global ActiveXObject */
- return (msie <= 8 && lowercase(method) === 'patch')
- ? new ActiveXObject('Microsoft.XMLHTTP')
- : new window.XMLHttpRequest();
-}
+ //if IE and the method is not RFC2616 compliant, or if XMLHttpRequest
+ //is not available, try getting an ActiveXObject. Otherwise, use XMLHttpRequest
+ //if it is available
+ if (msie <= 8 && (!method.match(/^(get|post|head|put|delete|options)$/i) ||
+ !window.XMLHttpRequest)) {
+ return new ActiveXObject("Microsoft.XMLHTTP");
+ } else if (window.XMLHttpRequest) {
+ return new window.XMLHttpRequest();
+ }
+ throw minErr('$httpBackend')('noxhr', "This browser does not support XMLHttpRequest.");
+}
/**
* @ngdoc object