Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中连接到数据库_Javascript_Sql - Fatal编程技术网

如何在JavaScript中连接到数据库

如何在JavaScript中连接到数据库,javascript,sql,Javascript,Sql,如何从JS函数连接到mysql数据库 我发现这个问题: 但它在Chrome上不起作用,因为他们使用的是ActiveXObject 谢谢。您必须使用AJAX,因为JavaScript本身无法连接到服务器。您可以使用AJAX调用一些PHP脚本,并在JavaScript中处理来自它的响应。请参阅。从javascript向php发出Ajax调用,将您连接到数据库,而无需某种插件,或者向服务器端应用程序发送请求以访问数据库,但您不能。因此,请关注这些应用程序,特别是服务器端应用程序。在web浏览器端,没

如何从JS函数连接到mysql数据库

我发现这个问题:

但它在Chrome上不起作用,因为他们使用的是
ActiveXObject


谢谢。

您必须使用AJAX,因为JavaScript本身无法连接到服务器。您可以使用AJAX调用一些PHP脚本,并在JavaScript中处理来自它的响应。请参阅。

从javascript向php发出Ajax调用,将您连接到数据库,而无需某种插件,或者向服务器端应用程序发送请求以访问数据库,但您不能。因此,请关注这些应用程序,特别是服务器端应用程序。

在web浏览器端,没有好的解决方案可以让您使用所有浏览器。在浏览器站点上使用数据库有许多缺点

首先,显示数据库结构,这是非常危险的。想象一下,当您知道表和字段时,进行SQL注入有多容易

您必须使用将显示给第三方用户的密码以某种方式建立连接。或者您必须设置无密码连接,这也是危险的

当您和数据库建立连接时,有人可以轻松地执行自己的查询,因为您正在显示自己的结构


我强烈建议您不要在浏览器端执行此操作。

此问题下的评论

这表明,只有结合专门设计用于使用web浏览器部署类似桌面的软件的Microsoft技术,才有可能实现这一点。这里提到的位有:

  • HTA-HTML应用程序
  • JScript——微软风格的JavaScript
  • ActiveX对象
还提供了一个链接:

但我有跨域的问题,所以我只需要做简单的选择从数据库

直接浏览器到数据库的通信肯定不是一个合适的解决方案

如果您想从数据库中获取一个值列表,只需使用您喜欢(或需要)的任何服务器端语言编写一个方法,让客户端JavaScript代码通过其公共URI调用该方法,并将响应体解析为某种数据结构

对于这类问题,一个更通用的解决方案是XMLRPC(作为记录,我在CodeIgniter/Flash ActionScript 3.0中使用过它),尽管它的使用并不那么简单


如果您需要从两个不同的域获取数据,那么在这两个域上实现上述功能,并让JavaScript代码调用两个不同的URI并组合数据(如果需要)。

在您链接的问题中,公认的答案详细说明了连接到数据库的更好方式(AJAX访问的服务器端代码)。这样做是一个更好的主意。我会避免这样做,我更喜欢在服务器端(例如PHP)进行每个DB连接,并通过AJAX获取数据。为什么要直接在JavaScript中执行此操作?当然,我知道option connect through php script,但我有跨域问题,所以我只需要从dbMaybe执行简单的select,可能有一个选项可以解决跨域问题?我在这里发布了:
http://stackoverflow.com/questions/16403729/cross-domain-wamp-node-js
eas,我理解,但我有跨域问题,我发布了:
http://stackoverflow.com/questions/16403729/cross-domain-wamp-node-js
所以我只需要做一些简单的选择,“通过其公共URI调用该方法”到底是什么意思?你能举个例子吗?“web框架”(CodeIgniter、Catalyst)的职责之一是将URI映射到类方法。简单地说,这意味着决定当用户访问某个URL时要执行哪些代码,web应用程序对此负责。示例:当您访问www.simplemath.org/basicops/sum?a=1&b=2时,web应用程序输出3。在一个简单但现实的场景中,您将有一个名为BasicOps的类,该类将有一个sum()方法。该方法将传递两个参数,求和并将输出发送到浏览器。