[
https://issues.apache.org/jira/browse/COUCHDB-1855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Shorin updated COUCHDB-1855:
--------------------------------------
Issue Type: Improvement (was: Bug)
> POST/GET query is not processing arrays properly
> ------------------------------------------------
>
> Key: COUCHDB-1855
> URL: https://issues.apache.org/jira/browse/COUCHDB-1855
> Project: CouchDB
> Issue Type: Improvement
> Components: HTTP Interface
> Reporter: Andrew Spode Miller
> Priority: Minor
>
> Sending an array in POST/GET url encoded form is not working correctly.
> For example:
> ?foo[]=bar&foo[]=bar2
> OR
> ?foo[0]=bar&foo[1]=bar2
> OR
> ?foo=bar&foo=bar2
> Should be converted to:
> foo = ["bar", "bar2"]
> Instead, the last element overwrites it. So in the above example, excluding
> the 2nd variety, you would get:
> foo = "bar2"
> I can't find a W3C document to back up this behaviour - but certainly in PHP
> and Java, this is normal behaviour. jQuery also converts an array into this
> format too, so if it's not "standard" it's certainly expected.
> According to "rnewson" who I was chatting to on IRC - the reason this is
> happening is that the URL query is being converted to a JSON object.
> Therefore, two items with the same key name would overwrite each other. He
> also says the following:
> "yes, I think you'd want to convert "foo=bar&foo=baz" into
> "foo":["bar","baz"] instead of [{"foo","bar"},{"foo","baz"}] in
> couch_httpd_external's to_json_terms function."
> I have put a work around in my own code, so this isn't a priority for me -
> but perhaps if someone else already has the relevant bit of code open... :)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira