Skip to content

Commit

Permalink
Fixed FormData posting in browser environment by reverting #3785; (#4640
Browse files Browse the repository at this point in the history
)

* Fixed posting FormData in browser environment by reverting #3785;

* Added ability to keep `Content-Type` header in non-standard browser environments;

* Added browser test of FormData posting using external HTTP service (https://httpbin.org/post);

Co-authored-by: Jay <jasonsaayman@gmail.com>
  • Loading branch information
DigitalBrainJS and jasonsaayman committed Apr 27, 2022
1 parent 82fd15f commit 76432c1
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/adapters/xhr.js
Expand Up @@ -27,6 +27,10 @@ module.exports = function xhrAdapter(config) {
}
}

if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {
delete requestHeaders['Content-Type']; // Let the browser set it
}

var request = new XMLHttpRequest();

// HTTP basic authentication
Expand Down
14 changes: 14 additions & 0 deletions test/specs/formdata.spec.js
@@ -0,0 +1,14 @@

describe('FormData', function() {
it('should allow FormData posting', function () {
return axios.postForm('http://httpbin.org/post', {
a: 'foo',
b: 'bar'
}).then(({data}) => {
expect(data.form).toEqual({
a: 'foo',
b: 'bar'
});
});
});
})

0 comments on commit 76432c1

Please sign in to comment.