我有一个在 HTML5 画布中运行的 Javascript 游戏。现在我想将一个存储在 PHP 对象中的变量传递给我的程序。我想要的是我的 js 中的一个函数,比如getVariable = function(){script that gets the variable from PHP and returns it as a string}
有什么提示吗?
我有一个在 HTML5 画布中运行的 Javascript 游戏。现在我想将一个存储在 PHP 对象中的变量传递给我的程序。我想要的是我的 js 中的一个函数,比如getVariable = function(){script that gets the variable from PHP and returns it as a string}
有什么提示吗?
@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 教程
Javascript 和浏览器并不关心你在服务器上使用什么语言来生成 HTML/JS,他们只关心最终生成了什么。
做你想做的事,你有两种方法: