繁体   English   中英

将javascript vars保存到服务器上

[英]Saving javascript vars onto server

我对javascript很陌生,目前正在寻找一种方法来管理简单的在线游戏的高分系统。 最初的计划只是将更新的var存储到服务器上,并根据要求检索它们,例如

var score = 0;
var level = 0;
//javascript game code to update score and level
//code to store vars into database

然而,根据一些研究,似乎不建议javascript直接与服务器端进行通信,而应通过某种服务器端脚本语言(例如PHP)进行通信,这可以使用form来完成

现在,我对应该做什么感到很困惑,因为我要做的就是存储一些已经创建的变量,而无需创建表单。 我还考虑过将变量保存到文本文件中 ,但这似乎不是在线评分系统的理想解决方案。

最重要的是,开始出现了许多其他关键字(例如AJAX,jQuery,nodeJS,JSON,解析...等等),我不太确定它们是否与我当前的问题有关。

这样做的最简单方法是什么(在线存储变量以根据请求检索)?

是的,您将需要使用PHP或类似工具为此设置服务器。 如果要使用服务器端javascript,可以考虑设置一个node.js服务器

不仅建议使用服务器端代码。 这是唯一的方法。

首先进行服务器端设置。 然后,编写您的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脚本仅使用这些值并加以利用(在数据库中增加一个计数器)。

而已。 数据库将使用新值进行更新,用户甚至都不知道它发生了。

由于安全性较差,我不建议您这样做,但是如果数据库具有HTTP API(许多noSQL和某些SQL数据库都具有它),则有可能。 借助http api支持,您可以将Ajax请求直接发送到数据库,以保存和接收数据。

例如: CouchDBOrientDB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM