У меня есть две страницы. На первой странице, называемой test1.html, я пытаюсь восстановить часовой пояс пользователей. Я хотел бы отправить его на php-страницу с именем test2.php и загрузить эту страницу вместо test1 с переменной (часовой пояс). Это код. test1.html:Передать переменную с jquery, открыть страницу php и забрать ее
<script type="text/javascript">
$(document).ready(function() {
var tz = jstz.determine(); // Determines the time zone of the browser client
var timezone = tz.name(); //'Asia/Kolhata' for Indian Time.
$.ajax({
type: 'POST',
url: 'test2.php',
data: {'timezone': timezone},
cache: false,
success: function(){
setTimeout(function() {
window.location = 'test2.php';
}, 3000);//this will redirct to somefile.php after 3 seconds
}
});
});
</script>
Test2.php
<?php
if(isset($_POST['timezone']))
{
$tz = $_POST['timezone'];
echo "Timezone is " .$tz;
}
else {
echo "Fail!";
}
?>
На PageLoad из test2.php, я только когда-нибудь 'не получится!' сообщение. Часть jquery и php корректно работают, когда я тестировал ее с помощью вызова alert в файле test1.html для регистрации ответа с php-страницы. Он дал ответ, которого я ожидал.
Я думаю, что теряю свою переменную, когда код выполняется для перезагрузки test2.php в том же окне. Я просто не знаю, как обойти эту проблему. Я хочу использовать POST, а не GET, если это возможно.
Любая помощь очень ценится.
Маленькая заметка: Идеализм Я хочу использовать этот javascript и php для того, чтобы быть на одной странице, но «проблема» заключается в том, что php, конечно же, выполняет серверный сервер, а затем он запускает клиентскую часть je js впоследствии ...
Вы посылаете запрос, то при переходе на новую страницу - так переменных POST не будет. Однако вы можете попробовать с сеансом. – Qirel
Думал, что это может быть проблемой, и выясняется, что это проблема ... –