xhr
xhr copied to clipboard
Allow FormData constructor to accept array or object too
Like the URLSearchParams allow the FormData constructor able to accept a iterable array or object instead of having to manually append everything
Current way of solving things:
var data = [ ['foo', 'bar'] ]
var data = { foo: 'bar' }
var fd = new FormData()
for (let [key, val] of new URLSearchParams(data)) {
fd.append(key, val)
}
// or one-liner
new URLSearchParams(data).forEach(args => fd.append(...args))
(this don't work for files/blobs)
Suggested way
var data = [ ['foo', 'bar'] ]
var data = { foo: 'bar' }
var fd = new FormData(data)
note var data = [ 'foo', 'bar' ]; might not work, it'd need to be var data = [ [ 'foo', 'bar'] ]; Otherwise this looks like a good idea.
That is probably what i meant. updated my examples
@travisleithead Almost makes more sense to me to use Map() or Set() instead of plan Array or Object literals.
Another facet to consider.
+1, this would be very nice to have. I'd definitely use the object form.