On May 18, 2007, at 4:19 PM, Ian Hickson wrote:

On Fri, 22 Apr 2005, Brad Neuberg wrote:

Here's a possible API for GET and POST semantics without XmlHttpRequest:

window.location.href = base URL + URL parameters already appended
window.location.method = GET or POST, nothing else supported

If the method is a POST method, the internal code simply pulls all the
parameters off of window.location.href and builds up a POST request
using them. Should it URL encode each query parameter and key first, or
assume that they are already URL-encoded?

Would this just be to do a scripted navigation to a POST page?

A .method property on 'location' is an interesting idea, but it would
probably end up confusing (what if you set it and another script does a
.href="" thinking it will do a GET?).

I think parsing the query part of a URL to resubmit as an http post body is also in general inappropriate, since one may validly POST data to a URL with a query part. Granted this is an edge case but there are certainly cleaner ways to supply a body.

window.location.post() is probably the best plan if we want to do this, I
think. The question is, what exactly is the use case? Do we want to be
doing POSTs like this without the user knowing, and with JS required?

Even without use of JS, you could style a <button type="submit"> for a form of otherwise hidden fields to look like a link, to make something that posts but looks like a normal link. To submit programatically, you can dynamically create a form. For cases where that is not a good way to build up the post body, an explicit location.post() method (or more generally location.load that takes URI, method, body and headers) would indeed be better than using multiple properties of the location object.

Regards,
Maciej

Reply via email to