Node.js 用javascript获取PHP变量?
我有一个运行在HTML5画布上的javascript游戏。现在我想把一个存储在PHP对象中的变量传递给我的程序。我想要的是js中的一个函数,比如Node.js 用javascript获取PHP变量?,node.js,javascript-events,disconnect,Node.js,Javascript Events,Disconnect,我有一个运行在HTML5画布上的javascript游戏。现在我想把一个存储在PHP对象中的变量传递给我的程序。我想要的是js中的一个函数,比如getVariable=function(){脚本,它从PHP获取变量并将其作为字符串返回} 有什么提示吗?Javascript和浏览器不关心您在服务器上使用什么语言来生成HTML/JS,他们关心的只是最终生成的内容 要想做你想做的事,你有两种方法: 在最初生成变量时,将其内容打印到页面 使用AJAX调用服务器上的脚本,该脚本返回值,然后用JavaScr
getVariable=function(){脚本,它从PHP获取变量并将其作为字符串返回}
有什么提示吗?Javascript和浏览器不关心您在服务器上使用什么语言来生成HTML/JS,他们关心的只是最终生成的内容 要想做你想做的事,你有两种方法:
@Valentin—只需使用javascript ajax调用(或者jquery调用,如果您愿意)从php脚本中获取值。如果您的游戏对不同的玩家有不同的值,您可以启动一个会话,并在多次调用脚本时保留这些值。例如- 假设您希望从player.php获取播放器的运行状况,如下所示
session_start();//start the session
if(!isset($_SESSION['health']))
$_SESSION['health'] = $var;//If there is no value for player health in the session
//initialize the default value
switch($_GET['x']){
case 'health' :
echo $_SESSION['health'];
break;
default :
echo $var;
break;
}
?>
相应的纯javascript将是-
var health;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
health=xmlhttp.responseText;
}
}
xmlhttp.open("GET","player.php?x=health",true);
xmlhttp.send();
您可以使用非常棒的jQuery以更简单的方式执行相同的操作-
var health;
var reqData=["x" : "health"];
var xhrObj = $.get("player.php",x)
.done(function( response ) {
health=response;//The echo text from server
})
.fail(function() {
alert('error');
});
您可以在这里了解有关jquery和ajax的更多信息-->
www.w3schools.com/ajax/ 对于ajax教程如果我将这些值打印到页面中,我将如何让我的js稍后读取它们?谢谢;)到目前为止,我已经找到了解决这个问题的其他方法,但也许将来我仍然可以使用它。@Valentinkrummenager:如果可以,我总是很乐意帮助:)