我对javascript很新,目前正在寻找一种管理简单在线游戏的高分系统的方法。最初的计划只是将更新的变量存储到服务器上并根据请求检索它们,例如
var score = 0;
var level = 0;
//javascript game code to update score and level
//code to store vars into database
经过一些研究,似乎it is not recommended for javascript to directly communicate with the server-side并且应该通过某种服务器端脚本语言(例如PHP)进行通信,can probably be done so using a form。
现在我对我应该做的事情感到很困惑,因为我想做的就是存储一些已经创建的变量,而不必创建表单。我也考虑过saving the variables to a text file,但这似乎不是一个适合在线分数系统的解决方案。
最重要的是,许多其他关键词开始涌现(例如AJAX,jQuery,nodeJS,JSON,解析......等等),我不太确定它们是否与我当前的问题相关。
最简单的方法是什么(在线存储变量以便根据要求检索)?
答案 0 :(得分:1)
是的,您需要使用PHP或类似设置为此设置服务器。如果要使用服务器端javascript,可以查看如何设置node.js服务器
答案 1 :(得分:1)
不仅建议使用服务器端代码。这是唯一的方法。
首先设置服务器端。然后,编写你的javascript来对它进行AJAX调用。
完整的解释是这样的......你的PHP(或ASP)页面可以与数据库通信,并做任何事情 - 读取数据,写入数据,更新记录。完成后,它会给出结果。每次与页面通信时都会发生这种情况。
服务器不关心你对输出的处理方式。它就是这样。 AJAX是一种使用JavaScript联系该PHP页面并等待结果的方法。通过这种方式,您可以联系该页面,获取结果,而无需刷新当前页面。
这是一种非常广泛使用的方法。
以简单的方式让您了解这是什么样的:
function countClick(id,host) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "/includes/appCounter.php?appid="+ id +"&hostIs="+ host, true);
xhttp.send();
}
这样做的是,当触发该函数时,它会调用PHP脚本并传入2个变量的值(appID和whichButton)。 PHP脚本只是获取这些值并使用它们(在数据库中增加一个计数器)。
就是这样。数据库使用新值更新,用户甚至不知道它发生了。
答案 2 :(得分:1)