JQuery как послать POST с переходом на страницу
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .javascript.geshi_code {font-family:monospace;} .javascript.geshi_code .imp {font-weight: bold; color: red;} .javascript.geshi_code .kw1 {color: #000066; font-weight: bold;} .javascript.geshi_code .kw2 {color: #003366; font-weight: bold;} .javascript.geshi_code .kw3 {color: #000066;} .javascript.geshi_code .co1 {color: #006600; font-style: italic;} .javascript.geshi_code .co2 {color: #009966; font-style: italic;} .javascript.geshi_code .coMULTI {color: #006600; font-style: italic;} .javascript.geshi_code .es0 {color: #000099; font-weight: bold;} .javascript.geshi_code .br0 {color: #009900;} .javascript.geshi_code .sy0 {color: #339933;} .javascript.geshi_code .st0 {color: #3366CC;} .javascript.geshi_code .nu0 {color: #CC0000;} .javascript.geshi_code .me1 {color: #660066;} .javascript.geshi_code span.xtra { display:block; }
type: "POST",
url: "B.html",
data: send_string,
success: function(){
}
});
все передается, но как сделать чтобы после этого пользователя перекинуло на страницу "В", и на ней были POST данные?
П.С.
Не хочу передавать данные подстановкой к адресу страницы после B.html?moi_dannie=jkhdh273yh7843y7 и т .п.
1 ответов
и зачем тут ajax?
данные не передаются между страницами, вы работаете с сервером.. в формате запрос-ответ)
ajax нужен, к примеру когда следует обновить только часть содержимого страницы.
у вас же переход на другую..
передаете формой как писали выше и нет проблем)) конечно можете отправить и с помощью xhr используя POST, а потом в событии onSuccess сделать document .write(responseText) и будет подмена всего документа:D во всяком случае лучше 2 запросов к серверу.. но с очевидными минусами
каков завопрос, такой и ответ)
<!-- нужные данные в <input type=hidden> -->
</form>
<script type="text/javascript">
$('#form').submit();
</script>
Ну я вижу два выхода.
1. Нужные данные переданные на сервер постом запомнить в сессии и потом обращаться к ним на любой странице $_SESSION['a'] = 1;
2. Если же эти данные для разового использования или с ними будет работать JS на новой странице, можно попробовать так. Передать данные постом на сервер и добавить перед выдачей в html второй странице <input type="hidden" name="a" value="1"/>
type: "POST",
url: "B.html",
data: send_string,
success: function() {
document.location = "B.html";
}
});, но POST-данные вы не увидите, если не сохраните их через PHP в сессии.
Передать данные в JSON формате, а там (в .php файле) поймать их через массив $_POST.
Как-то так:
type: "POST",
url: "post.php",
data: ({a : b}),// где a - это значение уходит $_POST['a'], b - это var b в этом яваскрипте.
success: function() {
$('div').load('post.php');//подгрузить содержимое страницы с переданными параметрами
}
});