JavaScript post request like a form submit

I’m trying to direct a browser to a different page. If I wanted a GET request, I might say

document.location.href="http://example.com/q=a";

But the resource I’m trying to access won’t respond properly unless I use a POST request. If this were not dynamically generated, I might use the HTML

<form action="http://example.com/" method="POST">
  <input type="hidden" name="q" value="a">
</form>

Then I would just submit the form from the DOM.

But really I would like JavaScript code that allows me to say

post_to_url('http://example.com/', {'q':'a'});

What’s the best cross browser implementation?

Edit

I’m sorry I was not clear. I need a solution that changes the location of the browser, just like submitting a form. If this is possible with XMLHttpRequest, it is not obvious. And this should not be asynchronous, nor use XML, so Ajax is not the answer.

3
31

Leave a Comment