Using the POST Method with HTML Anchor Tags

dpsdce picture dpsdce · Dec 6, 2011 · Viewed 65.1k times · Source

I am certain the answer will be 'NO', but I wanted to ask anyway just incase I have missed something.

Everyone knows that one pass data to a page in an anchor tag by using the GET method:

What I am wondering is if there was a way to do the same thing, but use the POST Method instead?

My purpose in doing so is to keep the URLs the user sees clean by not putting anything in them that they do not need to see.

This has nothing to do with security concerns as I already know there would be ways to obtain the data being passed.

If the answer is indeed no, then what methods do people use to pass data when there is a desire to keep the URLs clean? Cookies? Something else?

and how to deal with the scenarios when the URL length exceeds the permissible GET request length

I am facing this issue while implementing sorting/pagination with displaytag, all the request parameters are appending in the sort/pagination url which is more then the permissible length of the GET request.

Answer

loscuropresagio picture loscuropresagio · Dec 6, 2011

You could do something like this:

<form method="post" action="target.html">
  <input type="hidden" name="name" value="value" /> 
  <a onclick="this.parentNode.submit();">click here</a>
</form>