[JavaScript] Отправка POST-запроса при помощи jQuery
Автор: BlackSilver
12.05.2011 20:33
Была дана задача: сделать страницу со ссылками на другие сайты, причем пользователь должен сразу залогиниться (логин и пароль скрипту известны). Для этого во многих случаях простой ссылкой не обойтись - нужно, чтобы пользователь переходил на сайт с post-запросом.
Единственный способ отправить post-запрос (не Ajax), насколько я выяснил - отправить форму. Этим способом и было решено воспользоваться. Так и появилась небольшая функция, которая по заданным урлу и массиву post-данных создает при помощи jQuery невидимую форму и отправляет её куда надо. Вот эта функция:
function openUrl(url, post)
{
if ( post ) {
var form = $('<form/>', {
action: url,
method: 'POST',
target: '_blank',
style: {
display: 'none'
}
});
for(var key in post) {
form.append($('<input/>',{
type: 'hidden',
name: key,
value: post[key]
}));
}
form.appendTo(document.body); // Необходимо для некоторых браузеров
form.submit();
} else {
window.open( url, '_blank' );
}
}
Вызывается она вот так:
openUrl('http://google.com/zog/login.php', {login:'admin',password:'admin'});
Ах да, ещё один момент. Все сайты открываются в новой вкладке. Если вам этого не надо - поубирайте строки "_blank" из скрипта.
Обновлено 16.05.2011 08:14

Комментарии
RSS лента комментариев этой записи