2016-06-21 4 views
0

私はJavaScriptが新しく、現在シンプルなオンラインゲームのハイスコアシステムを管理する方法を探しています。当初の計画は、単にサーバーに更新VARSを保存し、しかし、it is not recommended for javascript to directly communicate with the server-sideとではなく、サーバー側のスクリプト言語のいくつかの並べ替えを介して通信する必要があると思われるいくつかの研究の際に要求例えばサーバにjavascript varsを保存する

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

時にそれらを取得することでした(例:PHP )、can probably be done so using a form

私は何をすべきかに関してかなり混乱しています。私がしたいのは、フォームを作成せずにすでに作成された変数を保存することだけです。私はまたsaving the variables to a text fileについて考えましたが、それはオンラインスコアシステムにとって理想的な解決策ではないようです。

他にも多くのキーワードがあります(たとえば、AJAX、jQuery、nodeJS、JSON、parse ...など)。私の現在の問題に関連しているかどうかは、あまりよく分かりません。

これを行う最も簡単な方法は何ですか(要求に応じて検索するオンライン変数を格納する)?

+0

。それは唯一の方法です。サーバー側の設定を開始することから始めます。それから、AJAX呼び出しを行うためにJavaScriptを書いてください。 – durbnpoisn

答えて

1

はい、これはPHPなどでサーバーをセットアップする必要があります。サーバー側のjavascriptを使用する場合は、node.jsサーバーを設定することができます。

1

サーバーサイドコードを使用するだけでなく、それは唯一の方法です。

サーバー側の設定を開始することから始めます。それから、AJAX呼び出しを行うためにJavaScriptを書いてください。

完全な説明は次のようなものです...あなたの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リクエストを直接データベースに送信して、データを保存および受信することができます。例えば

CouchDB、唯一のサーバー側のコードを使用することをお勧めしませんOrientDB

関連する問題