1

I am sending a post request with axios. However, when I check the browser console, I see that the request header is actually content-type: multipart/form-data. How can I enforce application/x-www-form-urlencoded? Or does it even matter?

let data = new FormData(); data.append('grant_type', 'authorization_code'); // ... removed for conciseness return axios.post(`${AUTH_URL}/token`, data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } 

1 Answer 1

2

FormData objects always serialise to multipart/form-data. They have to because they support file uploading and application/x-www-form-urlencoded and application/json do not.

If you want to send application/x-www-form-urlencoded data you should pass a URLSearchParams object instead.

This is described in the axios documentation.

In either case, you shouldn't specify the Content-Type in the headers since the underlying browser APIs will infer it correctly from the object type passed as the body data.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.