Начало веб-разработки с Sinatra: передача щелчков мышью на стороне сервера - PullRequest
0 голосов
/ 26 февраля 2012

У меня есть игровое поле (доска для шашек), которое я составил из таблицы и тд. Мне нужно иметь возможность получить координаты квадратов, по которым пользователи нажимают на стороне сервера. У всех квадратов есть идентификаторы (например, A4 и E7), мне просто нужно вернуть эти клики на сервер. Захватывать клики с помощью JQuery довольно легко, но я не уверен, что с ними делать. Благодарю.

Ответы [ 4 ]

1 голос
/ 27 февраля 2012

Шашки - это 64 квадрата, каждый квадрат в одном из трех состояний, поэтому - без использования куки - вы можете использовать javascript в браузере для создания своего состояния - 64 символа, которые похожи на 'br_bb ___...' для черного, красного и пусто, затем отправьте эту 64-символьную строку вместе с квадратом, по которому щелкнули. Затем сервер отправляет обратно новое состояние, которое локальный js использует для отображения квадратов.

Используйте маршрут, как показано в других ответах.

1 голос
/ 26 февраля 2012

Поскольку вы, кажется, плохо знакомы с веб-разработкой и концепциями HTTP-запросов и ответов, вместо того, чтобы начинать с обработки кликов в jQuery, я думаю, что вам следует упростить свой подход (а затем постепенно изучать более сложные концепции, такие как AJAX):

Пусть на вашей доске будет таблица (<TABLE>) ссылок (<A>), по которой пользователь будет щелкать (пропустите Javascript для начала).Ссылки будут иметь вид <A HREF="/click/A4" />, и нажатие на них немедленно выполнит HTTP-запрос к серверу.

В Синатре у вас будет обработчик:

get '/click/:field' do |field|
  # process the click here and return altered table
end

И этого должно быть достаточно для начала.

1 голос
/ 26 февраля 2012

Вы должны будете узнать, как ajax квадратный идентификатор на сервер, но это должно быть просто с jquery.Поэтому отправьте запрос с put на: /board/update/a4

Однако на стороне сервера вам понадобится маршрут пута:все что угодно, это всего лишь идея.) Удачи

1 голос
/ 26 февраля 2012

Должно быть легко ...

Прослушивание события щелчка на элементе TD.При нажатии прочитать идентификатор атрибута "$ (this) .attr ('id');".Отправьте сообщение jquery ajax на сервер с соответствующими данными (id и т. Д.).

Брайан =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...