Да, есть много вопросов к подобным вещам, но я не могу понять это, извините.Передать переменную javascript во внешний файл php
У меня есть файл с некоторыми javascript-переменными, в зависимости от ввода пользователем (но без формы) и нормальной HTML-ссылки на мой php-файл.
<script>
function doStuff() {
var a = 'foo';
var b = 'bar';
window.location = 'newfile.php?a=' + a + '&b=' + b;
}
</script>
<a href="javascript:doStuff()">go to new php file</a>
Это прекрасно работает, я могу получить доступ к данным в newfile.php с $_GET
.
newfile.php:
<?php
$a= $_GET['a'];
$b= $_GET['b'];
echo($a,$b); // works
?>
Но я хотел бы использовать POST. Думаю, я должен использовать ajax для этого, но как именно? JQuery включен кстати, так что я мог бы использовать $.ajax()
Любая помощь высоко ценится :)
EDIT:
Спасибо за быстрый ребята ответа! Разбор JSON не работает, я не могу понять, почему - после нажатия на кнопку окно браузера исчезает в течение секунды секунды, и я снова на той же странице, что сейчас не отвечает :(
Я пошел со следующим кодом:
jQuery.post('newfile.php',{'a': a, 'b': b}); //curious: with or without ''?
setTimeout(function() {
window.location = 'newfile.php';
}, 5000); //this will redirct to somefile.php after 5 seconds
newfile.php:
$a= $_POST['a'];
$b= $_POST['b'];
echo('Testing: '.$a);
Сразу после нажатия я могу увидеть правильный выход в Firebug (Testing: Foo), но, конечно, после того, как перенаправлять на участок, значения теряются, и я остаюсь с «Testing:»
Что мне делать?
Добро пожаловать в StackOverflow, если вы обнаружите какие-либо из ответа будет решить вашу проблему, отметьте один принятый путем проверки зеленой галочки на левой стороне ответ. – Viral