从 PHP 获取信息到 HTML5 JavaScript 游戏
Posted
技术标签:
【中文标题】从 PHP 获取信息到 HTML5 JavaScript 游戏【英文标题】:Getting information from PHP into HTML5 JavaScript Game 【发布时间】:2013-05-13 18:21:54 【问题描述】:我一直在玩弄 JS/Node/Socket.IO 并制作了一个小型多人游戏,其中你都是点并且可以四处移动。我现在想更进一步,添加一个简单的登录系统,以便我可以在用户头顶显示来自用户登录的信息,以帮助识别不同的玩家。
现在我知道 php 是一种服务器端语言,而 javascript 主要是客户端语言,但我需要想出一种方法来做到这一点。我真正要问的是,有人知道如何将信息直接从 PHP 获取到 JavaScript 中吗?
稍后我可能想要添加等级并将玩家的关卡存储在数据库中,并在他们连接时检索它们(而不是使用本地存储)。
非常感谢!
乔尔
【问题讨论】:
来自客户端的 AJAX 请求和 PHP 中的json_encode()
是你的朋友。除此之外,您还必须更具体地说明您要做什么。
【参考方案1】:
您可以使用 PHP 编写 JavaScript。
例如
$jsVars = array(
"one" => "hello"
, "two" => "yo"
);
echo '<script type="text/javascript">';
echo "var phpVars = ".json_encode($jsVars);
echo "</script>";
或者您可以利用 ajax 向 PHP 发出请求并通过 JSON 传递数据。
【讨论】:
非常感谢George,这么简单的概念让我忘记了!但有一件事,这是一种有效的做事方式吗?假设我要使用 html5 技术构建一个 MMORPG,平均每天有 50,000 名玩家,这会是一个好方法吗? @jskidd3 这实际上取决于您要传输的数据类型。我个人会使用 ajax,但如果这不是一个选项,这也可以。 @jskidd3 没问题,就像 Soriyyx 说的我绝对推荐 jQuery 来处理 ajax。 Ajax 作为长期解决方案更容易维护。你想看看用 PHP 构建一个 API,这样你就可以轻松地获取正确的数据。因此,对于用户信息,您将向 URL“yoursite.com/api/userinfo”发出请求,它将返回您的 javascript 所需的所有用户信息。这就是 Twitter 等网站允许人们获取推文的方式 .etc【参考方案2】:我通常这样做:
<script type="text/javascript">
var name = '<?php echo $name; ?>';
</script>
当然是在 PHP 文件中。我认为这对于服务器来说比使用 php 创建整个 javascript 更容易。
【讨论】:
【参考方案3】:如果您想在不加载页面的情况下提取数据。您可以使用 AJAX 调用一个 php 脚本来回显您需要的数据。您可以在成功登录 php 后将用户名存储在会话变量中,然后在需要时将其回显。
一个基本的 vanilla JS 示例是;
function getUsername()
var xmlhttp;
if(window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest();
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
if(xmlhttp.readyState==4 && xmlhttp.status==200)
var username=xmlhttp.responseText;
// code to add username above player here
xmlhttp.open("GET","get_username.php",true);
xmlhttp.send();
编辑:没关系。 :D
【讨论】:
以上是关于从 PHP 获取信息到 HTML5 JavaScript 游戏的主要内容,如果未能解决你的问题,请参考以下文章