Опитвам се да насоча браузъра към друга страница. Ако исках заявка GET, можех да кажа
document.location.href = 'http://example.com/q=a';
Но ресурсът, до който се опитвам да получа достъп, няма да отговори правилно, ако не използвам POST заявка. Ако това не беше динамично генерирано, бих могъл да използвам HTML
<form action="http://example.com/" method="POST">
<input type="hidden" name="q" value="a">
</form>
Тогава просто бих изпратил формуляра от DOM.
Но наистина бих искал код на JavaScript, който да ми позволи да кажа
post_to_url('http://example.com/', {'q':'a'});
Коя е най-добрата реализация за различни браузъри?
Edit
Съжалявам, че не бях ясен. Имам нужда от решение, което да променя местоположението на браузъра, точно както при изпращането на формуляр. Ако това е възможно с XMLHttpRequest, то не е очевидно. И това не трябва да е асинхронно, нито да използва XML, така че Ajax не е отговорът.
Можете да добавите формуляра динамично, като използвате DHTML, и след това да го изпратите.
Можете да използвате библиотека като jQuery и нейния метод $.post.
Можете да направите AJAX повикване (вероятно с помощта на библиотека, например Prototype.js или JQuery). AJAX може да обработва както GET, така и POST опции.