XMLHttpRequest advanced features

Adds more functionality to XHR (aka AJAX) requests like file uploads, transfer progress information and the ability to send form data. Previously known as XMLHttpRequest Level 2, these features now appear simply in the XMLHttpRequest spec.

Spec https://xhr.spec.whatwg.org/
Status WHATWG Living Standard
IE Edge Firefox Chrome Safari Opera
      98    
    95 97    
    94 96 TP  
11 (1) 95 93 95 15 80
10 (1) 94 92 94 14.1 79
9 93 91 93 14 78
8 92 90 92 13.1 77
Show all
7 91 89 91 13 76
6 90 88 90 12.1 75
5.5 89 87 89 12 74
  88 86 88 11.1 73
  87 85 87 11 72
  86 84 86 10.1 71
  85 83 85 10 70
  84 82 84 9.1 69
  83 81 83 9 68
  81 80 81 8 67
  80 79 80 7.1 66
  79 78 79 7 (1) 65
  18 77 78 6.1 (1) 64
  17 76 77 6 (1,2) 63
  16 75 76 5.1 (1,2) 62
  15 74 75 5 (1,2) 60
  14 73 74 4 58
  13 72 73 3.2 57
  12 71 72 3.1 56
    70 71   55
    69 70   54
    68 69   53
    67 68   52
    66 67   51
    65 66   50
    64 65   49
    63 64   48
    62 63   47
    61 62   46
    60 61   45
    59 60   44
    58 59   43
    57 58   42
    56 57   41
    55 56   40
    54 55   39
    53 54   38
    52 53   37
    51 52   36
    50 51   35
    49 50   34
    48 49   33
    47 48   32
    46 47   31
    45 46   30
    44 45   29
    43 44   28
    42 43   27
    41 42   26
    40 41   25
    39 40   24
    38 39   23
    37 38   22
    36 37   21
    35 36   20
    34 35   19
    33 34   18
    32 33   17 (1)
    31 32   16 (1)
    30 31   15 (1)
    29 30 (1)   12.1
    28 29 (1)   12
    27 28 (1,2)   11.6
    26 27 (1,2)   11.5
    25 26 (1,2)   11.1
    24 25 (1,2)   11
    23 24 (1,2)   10.6
    22 23 (1,2)   10.5
    21 22 (1,2)   10.0-10.1
    20 21 (1,2)   9.5-9.6
    19 20 (1,2)   9
    18 19 (1,2)    
    17 18 (1,2)    
    16 17 (1,2)    
    15 16 (1,2)    
    14 15 (1,2)    
    13 14 (1,2)    
    12 13 (1,2)    
    11 (2) 12 (1,2)    
    10 (2) 11 (1,2)    
    9 (1,2) 10 (1,2)    
    8 (1,2) 9 (1,2)    
    7 (1,2) 8 (1,2)    
    6 (1,2) 7 (1,2)    
    5 (1,2,3) 6    
    4 (1,2,3) 5    
    3.6 (1,2,3) 4    
    3.5 (1,2,3)      
    3      
    2      
Safari on iOS Opera Mini Android Browser Blackberry Browser Opera Mobile Android Chrome Android Firefox IE Mobile Android UC Browser Samsung Internet QQ Browser Baidu Browser KaiOS Browser
15 all 94 10 (1) 64 94 92 11 (1) 12.12 15.0 10.4 7.12 2.5
14.5-14.8   4.4.3-4.4.4 7 (1,2) 12.1     10 (1)   14.0      
14.0-14.4   4.4 (1,2)   12         13.0      
13.4-13.7   4.2-4.3 (1,2,3)   11.5         12.0      
Show all
13.3   4.1 (1,2,3)   11.1         11.1-11.2      
13.2   4 (1,2,3)   11         10.1      
13.0-13.1   3 (1,2,3)   10         9.2      
12.2-12.5   2.3             8.2      
12.0-12.1   2.2             7.2-7.4      
11.3-11.4   2.1             6.2-6.4      
11.0-11.2                 5.0-5.4      
10.3                 4      
10.0-10.2                        
9.3                        
9.0-9.2                        
8.1-8.4                        
8                        
7.0-7.1 (1)                        
6.0-6.1 (1,2)                        
5.0-5.1 (1,2)                        
4.2-4.3                        
4.0-4.1                        
3.2                        

Notes

  1. Partial support refers to not supporting json as responseType

  2. Partial support refers to not supporting .timeout and .ontimeout

  3. Partial support refers to not supporting blob as responseType

Bugs

  • Firefox 3.5 and 3.6 partial support refers to only including support for the progress event.

  • WebKit versions 535 and older (r103502) do not implement the onloadend event

  • IE10 and 11 do not support synchronous requests, with support being phased out in other browsers too. This is due to detrimental effects resulting from making them.

  • The "progress" event is reported to not work in Chrome for iOS

  • In Internet Explorer the timeout property may only be set after calling open and before calling send.

Resources

Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/xhr2