JavaScript post solicitação como um formulário de envio

I'estou tentando direcionar um navegador para uma página diferente. Se eu quisesse um pedido de GET, eu poderia dizer

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

Mas o recurso I'estou tentando acessar won'não responder corretamente a menos que eu use um pedido POST. Se isto 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 só enviaria o formulário do DOM.

Mas eu realmente gostaria de um código JavaScript que me permitisse dizer

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

Qual'é a melhor implementação de cross browser?

**Editar***

I'Desculpa não ter sido claro. Eu preciso de uma solução que mude a localização do navegador, assim como o envio de um formulário. Se isso é possível com XMLHttpRequest, isso não é óbvio. E isto não deve ser assíncrono, nem usar XML, então Ajax não é a resposta.

Você poderia adicionar dinamicamente o formulário usando DHTML e depois enviar.

Comentários (0)

Você poderia usar uma biblioteca como jQuery e seu método $.post.

Comentários (1)

Você poderia fazer uma chamada AJAX (provavelmente usando uma biblioteca como Prototype.js ou JQuery). AJAX pode lidar com ambas as opções GET e POST.

Comentários (1)