Каковы разные способы использования SQLite (на сервере) с чистым JavaScript (в браузере)? - PullRequest
2 голосов
/ 14 июня 2011

Я пытаюсь получить доступ к базе данных SQLite, которая находится на сервере, из Google Chrome, используя JavaScript и HTML.

Я видел Google Gears, но он говорит, что он устарел, потому чтоHTML5.Я хотел бы избегать серверных программ, единственное приложение, выполняющее работу, должно быть браузером.Возможно ли это?

Ответы [ 4 ]

2 голосов
/ 14 июня 2011

Если вы на 100% уверены, что вам нужны данные только на сервере (именно так строится большинство приложений), то вам нужна трехуровневая архитектура - клиент, сервер и база данных. Прежде всего, прекратите попытки доступа к базе данных с вашей веб-страницы. Вместо этого напишите на вашем языке подпрограмму / функцию на сервере, чтобы получить доступ к данным или манипулировать ими. Теперь ваша проблема сводится к вызову серверной функции с вашей веб-страницы, что можно сделать с помощью простой отправки HTTP и механизма на стороне сервера, чтобы прослушать этот HTTP-запрос, вызвать функцию и затем отправить ответ. Если вы находитесь в мире Java, сервлеты могут сделать это за вас. Аналогичные решения есть и на большинстве других платформ - Ruby, PHP, Perl, C #.

1 голос
/ 14 июня 2011

Если данные находятся на сервере, то вы можете записывать в них только серверные программы.

Существуют способы для JavaScript в браузере взаимодействовать напрямую с базами данных SQL, но они ограничены базами данных, хранящимися в браузере, а не на сервере (и действительно сумасшедшими вещами, включающими сокеты и серверные базы данных, которые доступны по сети ( какой SQLite нет)).

1 голос
/ 14 июня 2011

Существует нестандарт HTML5, который называется WebSQL, он позволяет вам запускать доступ к базе данных SQL, размещенной в браузере.Все реализации стандарта использовали SQLLite в качестве внутреннего сервиса.Стандарт WebSQL устарел из-за отсутствия других диалектов SQL и систем хранения в пользу indexedDB.

WebSQL по-прежнему поддерживается в очень большом количестве систем, включая Chrome, Safari, Safari Mobile, Opera и браузер Android

Учебное пособие по его использованию здесь: http://www.html5rocks.com/en/tutorials/webdatabase/todo/

IndexedDB выглядит как будущая спецификация, но на данный момент она поддерживается только в Firefox и Chrome.Посмотрите другой учебник (используя тот же пример в предыдущей ссылке) http://www.html5rocks.com/en/tutorials/indexeddb/todo/, в котором показано, как использовать IndexedDB.

0 голосов
/ 14 июня 2011

Насколько я знаю, SQLite не имеет встроенного HTTP-интерфейса. Таким образом, вам потребуется что-то на сервере, которое принимает HTTP-сообщения (также известные как AJAX-запросы) из вашего JavaScript, обращается к SQLite и возвращает данные в форме, с которой может работать JavaScript (например, JSON).

Практически любой веб-фреймворк в мире сделает это, поэтому вам нужен только один на понятном вам языке, который поддерживает SQLite в качестве бэкэнда базы данных.

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