Возможно отправка поста на javascript покажется кому-то тривиальной задачей, но для некоторых, особенно начинающий програмистов моя заметка может оказаться полезной. Например сам я, пришел в Web программирование из C#, и первое время при создании сайтов я вообще не использовал javascript, все делел на Asp.Net, в том числе посты. Первый раз мне понадобилось сделать подобную штуку в процессе создания интернет магазина. Корзина работала полностью на ASP.Net и все покупки хранились в сессии. Проблема появилась когда нужно быть преребросить пользователя на сайт платежной системы при этом передав ей параметы покупок: стоимость, колличество и т.д. Платежная система принимала только посты. А мне нужно было именно «перебросить» пользователя, т.е. выполнить редирект на сайт платежной системы. По началу я пытался сделать пост средствами ASP.Net — HttpWebRequest, но в этом случае не происходила переадресация, а если делать переадресацию Response.Redirect() то, соответственно нельзя было передать пост. В конечном итоге я понял что в данном случае нет выхода кроме как отправить пост с помощью javascript, благо, сделать это совсем не сложно, и я хотел бы показать пример как это сделел я:
Данный пример иллюстрирует отправку поста на вымышленный адрес domain.com/login, передавая параметры Login, Domain, Password. На основе этого примера вы можете сделать, например, кнопочку которая будет вас удобно логинить на ваш почтовый ящик.
<html> <head> <title>Javascript Post Example</title> </head> <body> <form> <input type="button" value="Login" onclick="doPost()" /> </form> <script type="text/javascript" language="javascript"> function doPost() { // создаем форму, указывая адрес получателя var form = GenerateFormElement('http://win.mail.ru/cgi-bin/auth'); document.body.appendChild(form); // добавляем параметры AddFormField(form,'Login','leshaaa'); AddFormField(form,'Domain','mail.ru'); AddFormField(form,'Password','password123987'); // отправляем форму form.submit(); } function AddFormField(form, name, value) { form.appendChild(GenerateInputElement(name, value)); } function GenerateFormElement(action) { var form = document.createElement('form'); form.setAttribute('action', action); form.setAttribute('method', 'post'); return form; } function GenerateInputElement(name, value) { var input = document.createElement('input'); input.setAttribute('type', 'hidden'); input.setAttribute('name', name); input.setAttribute('id', name); input.setAttribute('value', value); return input; } </script> </body> </html>
Данный пример иллюстрирует отправку поста на вымышленный адрес domain.com/login, передавая параметры Login, Domain, Password. На основе этого примера вы можете сделать, например, кнопочку которая будет вас удобно логинить на ваш почтовый ящик.