1

我知道要从 JavaScript 连接到数据库,我需要在纯 JavaScript 代码中提及数据库凭据。因此,对于在线应用程序来说,这将是一个巨大的安全风险。但就我而言,我想编写一个本地存储的小型 JavaScript 应用程序。因此,凭据不会向全世界显示,而只会向我提供应用程序的用户显示,这对我来说是可以接受的。

这背后的动机是我想在没有运行 PHP 服务器的情况下连接到在线数据库,只需通过嵌入在本地页面中的 JavaScript。我的目标是提供一个用户可以运行的应用程序,不需要 PHP 和服务器,除了数据库服务器。它类似于桌面应用程序,但在浏览器中运行。

如何从 JavaScript 连接到在线 MySQL 数据库?我在 Stack Overflow 上发现的所有其他类似问题都建议线程启动器有充分的理由反对这种用法,但没有回答这个问题。

我听说从 Ja​​vaScript 连接到 MySQL 是不可能的。但是,比如说,用 JavaScript 编写的 Windows 8 Metro Apps 如何处理这个问题呢?

4

2 回答 2

3

始终需要后端中继器。对于这个问题,您可以设置一个轻量级服务器,使用 node.js 将您的数据库访问请求转发到 mysql 服务器。

于 2013-05-29T17:10:16.567 回答
1

如果您专注于特定的网络浏览器,也许您会找到一种解决方法。但是,如果您正在考虑独立于用户代理的本地应用程序,则应遵循标准以达到可预测的行为(或至少是最佳方法)。在W3C 标准中,您有两个存储选项:

Web Storage API:您仅限于键值存储,但得到很好的支持
索引数据库 API。我没有这方面的经验,但它是受支持的

如果您不想将用户上下文限制在受限制的机器和用户代理中,您可以从上面提到的标准存储解决方案开始,然后按照渐进增强中的建议为更高级的浏览器(甚至可能使用 MySQL!)增强您的应用程序

于 2013-05-29T17:25:46.503 回答