2014-02-18 4 views
0

Мне было интересно, есть ли простой способ вернуть разницу во времени от функции javascript, а затем вызвать ее в php.Возвращая переменную javascript в PHP

У меня есть что-то вроде этого на данный момент:

function getDiff() { 
    $("#timeTo").on('keyup', function() { 
     var timeTo = $("#timeTo").val(); 
     var timeFrom = $("#timeFrom").val(); 
     var diff = parseFloat(timeTo) - parseFloat(timeFrom); 
    }); 

    return diff;  
} 

Затем я хочу вызвать getDiff() в PHP, чтобы получить значение дифференциала и я пытался что-то вроде этого, но это не сработало:

$timeDiff = getDiff(); 
+2

Вы понимаете, PHP работает на сервере и JavaScript (обычно) работает на клиенте. Для передачи данных между ними вам понадобится какой-то механизм (например, HTTP). –

ответ

0

Вы можете отправить diff в PHP с помощью AJAX.

https://api.jquery.com/jQuery.ajax/

function getDiff() { 
    $("#timeTo").on('keyup', function() { 
     var timeTo = $("#timeTo").val(); 
     var timeFrom = $("#timeFrom").val(); 
     var diff = parseFloat(timeTo) - parseFloat(timeFrom); 
     $.ajax({ 
      type: "POST", 
      url: "test.php", 
      data: { difference: diff } 
     }) 
    }); 
} 
+0

как вы это делаете? –

+0

Я думаю, что единственным способным способом сделать это будет использование websockets - есть примеры приложений для PING и мониторинг задержек между клиентом и сервером. Точно так же вы хотели бы отказаться от латентности, чтобы получить реальность. –

0

Javascript выполняется только в браузере. PHP выполняется только на сервере. Вы не можете вызывать методы Javascript из PHP-скриптов. Вы можете в конечном итоге отправить это значение с помощью запроса AJAX или с помощью запроса POST или GET.

0

XHR:

var x=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP'); 
x.onreadystatechange=function(){if(x.readyState==4&&x.status==200){ 
    alert(x.responseText); 
}} 
x.open('GET','phpdiff.php?q='+diff,true);x.send(); 

phpdiff.php

echo$_GET['q']; 
//calculate your diff 
Смежные вопросы