如何在不跨域的情况下从混合应用程序访问数据库?
How to access a database from a hybrid app without crossing domains?
我正在使用 PhoneGap (Cordova) + Framework7 开发一个应用程序,我需要连接到一个数据库。问题是它是一个混合应用程序,这意味着 www 文件是本地的并且该应用程序创建了一个内部服务器,因此如果您尝试使用 AJAX 到 运行 一个 php 文件它跨域,因为它会在 运行 连接自己的服务器时尝试访问我的网络服务器。我能做什么?
(我知道 Cordova 有一个名为 WebSQL 的实用程序可以连接到 SQLite,但我的数据库是 MySQL,我认为它只能连接到本地数据库)
(你不能将 php 移动到本地,因为 Cordova 不能 运行 php 文件,而且它可能不是很安全)
我的建议是使用 Ajax 访问您的服务器。 (到 运行 PHP 文件)您可以在前端的环境变量中允许您的服务器 URL。
检查前端的 Content-Security-Policy
和 connect-src
并在其中添加您的服务器 URL。然后你就可以发送 Ajax 到你的服务器了。
希望这对您有所帮助。
我正在使用 PhoneGap (Cordova) + Framework7 开发一个应用程序,我需要连接到一个数据库。问题是它是一个混合应用程序,这意味着 www 文件是本地的并且该应用程序创建了一个内部服务器,因此如果您尝试使用 AJAX 到 运行 一个 php 文件它跨域,因为它会在 运行 连接自己的服务器时尝试访问我的网络服务器。我能做什么?
(我知道 Cordova 有一个名为 WebSQL 的实用程序可以连接到 SQLite,但我的数据库是 MySQL,我认为它只能连接到本地数据库)
(你不能将 php 移动到本地,因为 Cordova 不能 运行 php 文件,而且它可能不是很安全)
我的建议是使用 Ajax 访问您的服务器。 (到 运行 PHP 文件)您可以在前端的环境变量中允许您的服务器 URL。
检查前端的 Content-Security-Policy
和 connect-src
并在其中添加您的服务器 URL。然后你就可以发送 Ajax 到你的服务器了。
希望这对您有所帮助。