Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить серверную дату с помощью jquery (https://javascript.ru/forum/jquery/48949-poluchit-servernuyu-datu-s-pomoshhyu-jquery.html)

Chamus 23.07.2014 10:49

Получить серверную дату с помощью jquery
 
Добрый день. Подскажите, пожалуйста, как получить серверную дату и присвоить ее переменной в js файле. Попробовал написать php в переменной js, но без результатно. Мне нужно вернуть timestamp с сервера, а не дату с компьютера, на котором запущен скрипт.

Rise 23.07.2014 11:15

Chamus,
<script>var date = <?php echo date('d.m.Y H:i'); ?>;</script>

Chamus 23.07.2014 11:35

Цитата:

Сообщение от Rise (Сообщение 322325)
Chamus,
<script>var date = <?php echo date('d.m.Y H:i'); ?>;</script>

Вы читали мое сообщение? Зачем мне теги html в js файле? date('d.m.Y H:i') - это не timestamp.

cha0s 23.07.2014 12:02

ну так делай файл не .js а .php в котором будет присутствовать JS код, и подключи его include/require, естественно что в JS файл ты не вставишь php код... а вот в php файл запросто то и другое.

file.php с содержанием
<?php
$date = new DateTime();
echo '<script type="text/javscript">var date = '.$date->getTimestamp().';</script>';
?>
alert(date);

вот твой будет timestamp с сервера в переменной js, только в файле *.php

Chamus 23.07.2014 12:11

Цитата:

Сообщение от cha0s (Сообщение 322331)
ну так делай файл не .js а .php в котором будет присутствовать JS код, и подключи его include/require, естественно что в JS файл ты не вставишь php код... а вот в php файл запросто то и другое.

file.php с содержанием
<?php
$date = new DateTime();
echo '<script type="text/javscript">var date = '.$date->getTimestamp().';</script>';
?>

вот твой будет timestamp с сервера в переменной js, только в файле *.php

Вы предлагаете инклудить php с переменной в php файл? Дело в том, что сайт на xslt и туда нельзя вставить php код. В js я так понимаю инклудить php тоже нельзя

WorM32 23.07.2014 14:43

Можно ajax-запрос отправить на сервер и получить серверное время.

Chamus 23.07.2014 14:47

Цитата:

Сообщение от WorM32 (Сообщение 322355)
Можно ajax-запрос отправить на сервер и получить серверное время.

Да, я только в аяксе не особо шарю.
var sTime
	sTime = $.ajax({  
	    url: "/time.php",
	    cache: false,  
	    success: function(data){ 
			console.log(data);
	    }
	});
	console.log(sTime);

<?php echo time(); ?>

console.log(sTime); ничего не выводит. Что я сделал не так?

tsigel 23.07.2014 15:07

AJAX асинхронный. Success выполняется после получения ответа.

var sTime
	$.ajax({  
	    url: "/time.php",
	    cache: false,  
	    success: function(data){ 
                        sTime = data;
                        console.log(sTime);
	    }
	});

Chamus 23.07.2014 15:17

Цитата:

Сообщение от tsigel (Сообщение 322363)
AJAX асинхронный. Success выполняется после получения ответа.

var sTime
	$.ajax({  
	    url: "/time.php",
	    cache: false,  
	    success: function(data){ 
                        sTime = data;
                        console.log(sTime);
	    }
	});

Почти. Мне нужно чтобы потом использовать sTime вне запроса.

tsigel 23.07.2014 15:24

ну и используйте)


Часовой пояс GMT +3, время: 13:41.