关于前端连接数据库的问题

JavaScript018

关于前端连接数据库的问题,第1张

前端的JS 自身可能不能直接连数据库,后端的JS(如 Node.js )是可以连数据库的;

如果你想前端JS 查数据库,可以用JS 发一个ajax 请后端,后端查询完数据库后,把结果封装成JSON 返回,前端的AJAX 回调函数中取出JSON 对象,把内容更新到网页上。

示例:

$.ajax({

   url: "./ajaxdata/findtable.do",

   method: 'POST',

   dataType: 'json',

   data: {

      dTyppe: 'findid',

      ID: '001',

   },

   success: function (data) {

         // data 是返回的对象,可以data 中取出数据        

         // 输出内容

      

   }

})

1、cypress

Cypress是新一代前端测试框架,它基于node js。解决了开发人员和QA工程师在测试现代应用程序时面临的关键难点问题。

2、rollup

rollup是一款小巧的javascript模块打包工具,更适合于库应用的构建工具可以将小块代码编译成大块复杂的代码,基于ES6 modules,它可以让你的 bundle 最小化,有效减少文件请求大小

3、day.js

2KB 不可变日期和时间库。

4、immer.js

Immer核心实现是利用 ES6 的 proxy,几乎以最小的成本实现了 js 的不可变数据结构,简单易用、体量小巧、设计巧妙,满足了我们对JS不可变数据结构的需求。

5、jsdoc

JSDoc 是一个根据 JavaScript 文件中注释信息,生成 JavaScript 应用程序或模块的API文档的工具。你可以使用 JSDoc 标记如:命名空间,类,方法,方法参数等。从而使开发者能够轻易地阅读代码,掌握代码定义的类和其属性和方法,从而降低维护成本,和提高开发效率。

6、ramda.js

一款实用的 JavaScript 函数式编程库。

7、p-limit

以有限的并发运行多个承诺返回和异步函数

可以限制Javascript中的promise或同时阻止来自服务器的所有请求调用。

8、Akta

为Javascript应用程序量身定制的状态管理库

9、js-cookie

用于处理浏览器cookie的轻量级Javascript API。

Node.JS 服务器可以在 后端 连接mysql,这时的情况和php是一样的。

我从未见过前端JS直接连接mysql的,原因是:

(1)浏览器内置的javascript 引擎一般只支持websocket,即基于http连接的套接字高层协议,而不是真正的socket,因此除非服务器端也开启websocket服务并拆开套接字转发到mysql,否则无法代理连接

(2)我见过的绝大多数mysql 服务器都工作在服务器环境下的一个虚拟子网,换句话说,直接的远程3306端口是拒绝连接的,这样可以隔绝端口直接攻击

如果前段js直接可以连接后端服务器mysql的端口,那么就不叫B/S结构了,而是C/S结构(比如传统的windows桌面程序),安全上有很多问题,所以大多数浏览器也不支持这个操作。