Pedido de postagem do JavaScript como um envio de formulário
Estou tentando direcionar um navegador para uma página diferente. Se eu quisesse um pedido GET, eu poderia dizer
document.location.href = 'http://example.com/q=a';
Mas o recurso que estou tentando acessar não responderá corretamente, a menos que eu use uma solicitação POST. Se isso não fosse gerado dinamicamente, eu poderia usar o HTML
<form action="http://example.com/" method="POST">
<input type="hidden" name="q" value="a">
</form>
Então eu apenas enviaria o formulário do DOM.
Mas eu realmente gostaria de código JavaScript que me permita dizer
post_to_url('http://example.com/', {'q':'a'});
Qual é a melhor implementação de cross-browser?
Editar
Me desculpe, eu não estava claro. Eu preciso de uma solução que mude a localização do navegador, assim como enviar um formulário. Se isso for possível comXMLHttpRequestnão é óbvio. E isso não deve ser assíncrono, nem usar XML, então o Ajax não é a resposta.