Petición de correo en JavaScript como un formulario de envío

Estoy tratando de dirigir un navegador a una página diferente. Si quisiera una petición GET, podría decir

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

Pero el recurso al que intento acceder no responderá correctamente a menos que utilice una petición POST. Si esto no fuera generado dinámicamente, podría utilizar el HTML

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

Entonces simplemente enviaría el formulario desde el DOM.

Pero realmente me gustaría un código JavaScript que me permita decir

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

¿Cuál es la mejor implementación entre navegadores?

**Editar...

Siento no haber sido claro. Necesito una solución que cambie la ubicación del navegador, al igual que el envío de un formulario. Si esto es posible con XMLHttpRequest, no es obvio. Y esto no debe ser asíncrono, ni usar XML, así que Ajax no es la respuesta.

Podrías añadir dinámicamente el formulario usando DHTML y luego enviarlo.

Comentarios (0)

Puedes utilizar una librería como jQuery y su método $.post.

Comentarios (1)

Podrías hacer una llamada AJAX (probablemente usando una librería como el uso de Prototype.js o JQuery). AJAX puede manejar las opciones GET y POST.

Comentarios (1)