New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Axios sends boundary text even when form data is empty #6289
Comments
It doesn't seem like this is an Axios issue. I've never seen this behavior in RFC or issues related to this. But in any case, this is exactly how the browsers’ network API acts (fetch&XMLHttpRequest), so it looks like Rails will have problems with communication with the frontend. Axios for the browser relies entirely on the browser API to work with FormData, it does not have its own FormData encoder, unlike Axios for Node.js. However, it implements the same behavior. await (await fetch('https://httpbin.org/post', {method: 'post', body: new FormData()})).json()
|
Interesting. I agree, this is not an Axios issue and we can close this ticket.
This is from the old rfc2046 pointed as the source of truth for the definition of multipart form data in the current rfc7578 This suggest that Rack (therefore Rails) follows the spec, but perhaps a bit too rigidly. The spec does warn against being too rigid in regard to field names for example. Seems like it would fall on the browser to not send this request (or make it valid somehow), but I feel like the spec is overly restrictive here and should allow for an empty body (with a final boundary). I'll start a discussion in the Rack issue tracker. Perhaps they'd be open to relax the parsing a bit. |
@DigitalBrainJS and @JoeDupuis , thank you for your responses. Joe kindly found out how to fix this issue. So I close this issue. |
Describe the bug
Axios sends boundary text even when form data is empty:
But such a form data seems to be invalid and causes error for Rails application.
To Reproduce
I created a repro app and described here:
rails/rails#51292
Code snippet
No response
Expected behavior
When form data is empty, axios should not send form data at all or send valid form data.
Please see also: rails/rails#51292
Axios Version
0.28.0
Adapter Version
No response
Browser
Chrome
Browser Version
Version 122.0.6261.112 (Official Build) (arm64)
Node.js Version
No response
OS
macOS 14.4
Additional Library Versions
No response
Additional context/Screenshots
No response
The text was updated successfully, but these errors were encountered: