在PHP中返回javascript变量
我想知道是否有一种简单的方法可以从javascript函数返回时差,然后在php中调用它 我现在有这样的想法:在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
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