Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中返回javascript变量_Javascript_Php - Fatal编程技术网

在PHP中返回javascript变量

在PHP中返回javascript变量,javascript,php,Javascript,Php,我想知道是否有一种简单的方法可以从javascript函数返回时差,然后在php中调用它 我现在有这样的想法: function getDiff() { $("#timeTo").on('keyup', function() { var timeTo = $("#timeTo").val(); var timeFrom = $("#timeFrom").val(); var diff = parseFloat(timeTo) - parse

我想知道是否有一种简单的方法可以从javascript函数返回时差,然后在php中调用它

我现在有这样的想法:

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

    return diff;    
}
然后我想在PHP中调用getDiff()来获取diff的值,我尝试了类似的方法,但没有成功:

$timeDiff = getDiff();

您可以使用AJAX将
diff
发送到PHP


Javascript仅在浏览器中执行。 PHP仅在服务器上执行。 不能从PHP脚本中调用Javascript方法。 您最终可以通过AJAX请求或POST或GET请求发送该值。

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

您确实认识到PHP在服务器上运行,JavaScript(通常)在客户机上运行。您需要某种机制(如HTTP)来在两者之间传输数据。我认为唯一可行的方法是使用WebSocket—有一些应用程序可以PING和监视客户端与服务器之间的延迟。同样,您也意味着放弃延迟以获得真实的延迟。
echo$_GET['q'];
//calculate your diff