2016-06-21 91 views
0

我对JavaScript很新颖,目前正在寻找一种管理简单网络游戏的高分数系统的方法。最初的计划是刚刚更新的增值经销商存储到服务器上,并在一些研究检索它们应要求如将javascript vars保存到服务器上

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,parse ......等等),但我们并不确定它们是否与我当前的问题相关。

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

+0

它不仅建议使用服务器端代码。这是唯一的方法。开始让您的服务器端设置。然后,编写你的javascript来进行AJAX调用。 – durbnpoisn

回答

1

是的,你将需要为此使用PHP或类似的设置服务器。如果你想使用服务器端的JavaScript,你可以看看设置一个node.js服务器

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脚本简单地使用这些值并使用它们(增加数据库中的计数器)。

就是这样。数据库用新值更新,用户甚至不知道它发生了什么。

+0

谢谢您的详细解释!它看起来比我想象的要复杂得多。我会去看看你的建议! –

+0

它的JavaScript部分根本不复杂。事实上,我所拥有的就是你需要的一切,不管你信不信。但是你需要对PHP和MySQL的基础知识做一点研究。我的意思是“一点”。在这个地方有很多例子来说明如何做简单的事情。 – durbnpoisn

1

由于安全性差,我不会推荐它,但是如果数据库有HTTP API(许多noSQL和一些SQL数据库都有),我们可能会推荐它。通过http api支持,您可以将Ajax请求直接发送到数据库,以保存和接收数据。

例如:CouchDBOrientDB

相关问题