23

Using Typescript/Angular 9:

const formData: FormData = new FormData();
formData.append('key', null);
console.log(formData.get('key'));

>> 'null'

this is a 'null' string, as opposed to null value.

I need to somehow append null (or undefined) value to the FormData. What can I do?

1
  • 1
    you can send like '' Commented Jun 10, 2020 at 12:03

3 Answers 3

35

Any value passed into data.append will be converted to a string. The only way to accomplish sending a null value is the send an empty string. i.e. formData.append('key', ''); This will send a null value to the backend without stringifying it.

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

Comments

17

You can't, because the value is always converted to a string if it's not a USVString or Blob.

https://developer.mozilla.org/en-US/docs/Web/API/FormData/append

The field's value. This can be a USVString or Blob (including subclasses such as File). If none of these are specified the value is converted to a string.

However, if you delete a key and try to access it, it will return null by default.

let oFormData: FormData = new FormData();

oFormData.append('key1', null);
oFormData.get('key1'); // string 'null'
oFormData.delete('key1');
console.log(oFormData.get('key1')); // null

Comments

-2

Try to set key to undefined:

const formData: FormData = new FormData();
formData.append('key', undefined);
console.log(formData.get('key'));

1 Comment

It returns "undefined" as String. How does that help?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.