iron-ajax
iron-ajax copied to clipboard
fix error when passing an undefined value
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!
) and we'll verify. Thanks.
- If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
- If you signed the CLA as a corporation, please let us know the company's name.
I signed it!
CLAs look good, thanks!
Heya, @javinc, thanks for the PR and sorry for the late review.
I see that this can run into issues if the key or the value is undefined, but can you provide a strong use case where this is necessary? An issue that I have with this is that you may have a url with bad params that fails silently.
Additionally, I think that an undefined value to an existent key is best to be kept out of the params as
key: undefined
should not be represented as an empty string. Perhaps consider simply skipping the key/value encoding if the value is not defined.
see #207 null
typically means that a value has specifically been set to be empty. undefined
typically means that it was never set. I think that the best course of action here is that if it is undefined, that key / value pair should be skipped (e.g. { a: 'asdf', b: undefined }
domain?a=asdf
) and that a null
value should be represented as either domain?key=
, domain?key=null
, or domain?key=%00
.