diff options
Diffstat (limited to 'src/ng/httpBackend.js')
| -rw-r--r-- | src/ng/httpBackend.js | 17 | 
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 | 
