Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Trying to send a Blob with XHR2 sends the request with an empty body on Android 4+ #34
XMLHttpRequest 2 and Blob constructing are both supported in ICS and newer. Therefore we should be able to send a raw Blob as an ajax request's body using xmlhttprequest.send(blob).
Unfortunately, trying to send a Blob this way sends the request with an empty body/payload.
The Blob is constructed correctly, the issue is with the actual request.
The work-around is to create an ArrayBuffer, and send it in the same way, using xmlhttprequest.send(arraybuffer).
Here is a test using GitHub's API (used it for CORS support):
Both sending methods (sending the blob and sending the arraybuffer) work on modern desktop browsers, while on Android only the "Send as ArrayBuffer" works. This is because, as said above, the request is sent empty, without an actual body/payload.
How to reproduce:
Bug Tracker ticket(s):