Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   <?php echo microtime();?> обновляет 1 раз/мс Можно без аякса? (https://javascript.ru/forum/misc/46491-php-echo-microtime-%3B-obnovlyaet-1-raz-ms-mozhno-bez-ayaksa.html)

xcislav 11.04.2014 19:53

<?php echo microtime();?> обновляет 1 раз/мс Можно без аякса?
 
Мне этот код дали. Посмотрите. Это самый примитивный счётчик правдивого времени с моего сервера init.apache2.
Вопрос: на чистом JavaScript это будет слишком длинно?

/eho.php
<?php echo microtime(); ?>

http://lanother.tk/msec.php

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 
<script> 
function update(){ 
    $('body').load('/eho.php'); 
} 
update(); 
setInterval(function(){ update() }, 1); // 1 сек 
</script> 
~

Octane 11.04.2014 20:10

Для современных браузеров достаточно и такого кода:
var request = new XMLHttpRequest,
	textNode = document.body.appendChild(document.createTextNode(""));

function update() {
	request.open("GET", "/eho.php");
	request.send();
}
request.onload = function () {
	textNode.nodeValue = request.responseText;
	update();
};

update();

но столько запросов на сервер это пздц, не знаю, что за задача, но возможно лучше использовть http://learn.javascript.ru/server-sent-events

xcislav 11.04.2014 20:46

Цитата:

Сообщение от Octane (Сообщение 307342)
Для современных браузеров достаточно и такого кода:
var request = new XMLHttpRequest,
	textNode = document.body.appendChild(document.createTextNode(""));

function update() {
	request.open("GET", "/eho.php");
	request.send();
}
request.onload = function () {
	textNode.nodeValue = request.responseText;
	update();
};

update();

но столько запросов на сервер это пздц, не знаю, что за задача, но возможно лучше использовть http://learn.javascript.ru/server-sent-events

Задача учебная, никого не затрагивает. К примеру рядом разместить два времени javasctipt и php-время и сравнить (через прокси).

Простота (говорю как любитель ассемблера) подогревает интерес.

Чистый JavaScript не заработает.
Firefox 26, Gentoo.

Серьёзно там будем разбираться:

XMLHttpRequest,
# API кажется понятно что апликейшен надо устанавливать и не работает (с jquery тоже было морока

функции обычно в книгах js к главе 8

function update() {
request.open("GET", "/eho.php");

Сейчас загуглим
## Синхронный подготовленный запрос
## POST/GET это из PHP непройденной книги (название)

request.onload = function () {
textNode.nodeValue

А это Node.JS тот самый?

Octane 11.04.2014 20:57

Запросы по умолчанию асинхронные, Node.js тут не при чем. Код будет работать в IE начиная c 9й версии и в других браузерах.


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