2016-06-21 3 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, непосредственно в базу данных, для сохранения и получения данных.

Например: CouchDB, OrientDB

Смежные вопросы