2016-06-21 130 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

相關問題