当前位置: 首页 > news >正文

关于web前端通过js获取后端mysql数据库数据的一个方法

关于web前端通过js获取后端mysql数据库数据的一个方法

问题引入

关于html的教程很多,关于mysql的教程也很多,那么怎么让html展示mysql的数据呢?

一言以蔽之

前端通过js向后端发起一个http请求,后端响应这个请求并返回数据

实现

js代码

   // 使用 fetch 发起 GET 请求fetch('http://127.0.0.1:3000/api/login', {method: 'POST',headers: {'Content-type': 'application/json'},body: JSON.stringify(data) //data是传递给后端的数据}).then(response => {if (!response.ok) {throw new Error('Network response was not ok');}return response.json();}).then(data => {// 处理从服务器获取到的数据console.log(data);if(data.status == false){Error.innerHTML = "username not exists or password wrong";}else{alert("success!");}}).catch(error => {// 处理请求错误console.error('Error:', error);});

后端nodejs代码

//登陆
app.post('/api/login', (req, res) => {const data = req.body;//这个pool是创建的mysql连接池,这里没展出来,不懂可以百度如何创建pool.query('select * from users where username = ?',[data.username], (error,results) => {if (error) {console.error('Error querying database:', error);res.status(500).send('Internal Server Error');return;}console.log(results);if(results.length == 0){res.json({status: false});}else{if(results[0].password != data.password){res.json({status: false});}else{res.json({status: true,id:results[0].id});}}})
});

逻辑解释

前端js使用fetch方法向后端发送一个http请求,请求里面可以携带一些数据,然后后端nodejs通过前端发来的http信息来访问服务端数据库响应请求,并返回数据给前端。

什么是nodejs?

你可以把它理解成一个运行在服务器端的脚本,负责响应请求,就像饭店的厨师,而js就像前台负责给顾客点菜的人

nodejs怎么运行?

这个网上教程很多,得现在服务器端安装一下node,npm啥的(好像是一起的)

说明

向后端发送请求的方法不止这一个,但是这个还算比较简洁
有什么问题可以直接私信我

http://www.lryc.cn/news/250333.html

相关文章:

  • 如何下载IEEE出版社的Journal/Conference/Magazine的LaTeX/Word模板
  • 京东数据运营-京东数据开放平台-鲸参谋10月粮油调味市场品牌店铺销售数据分析
  • ThermalLabel SDK for .NET 13.0.23.1113 Crack
  • [Java学习日记]网络编程
  • spring boot mybatis TypeHandler 看源码如何初始化及调用
  • 数据结构基础(带头节点的双向循环链表)
  • STM32CubeMx+MATLAB Simulink点灯程序
  • 【深度学习】gan网络原理生成对抗网络
  • springboot参数汇总
  • 【算法刷题】Day9
  • LangChain的函数,工具和代理(三):LangChain中轻松实现OpenAI函数调用
  • WiFi概念介绍
  • 如何优雅的进行业务分层
  • C++的std命名空间
  • unity学习笔记
  • 使用SpringBoot和ZXing实现二维码生成与解析
  • C++模板—函数模板、类模板
  • Monkey
  • SQL中left join、right join、inner join等的区别
  • 算法学习—排序
  • 在Pycharm中创建项目新环境,安装Pytorch
  • linux里source、sh、bash、./有什么区别
  • IDEA编译器技巧-提示词忽略大小写
  • 【MySQL】MySQL安装 环境初始化
  • C# IList 与List区别二叉树的层序遍历
  • 助力android面试2024【面试题合集】
  • 【动态规划】LeetCode-62.不同路径
  • 对 Vision Transformers 及其基于 CNN-Transformer 的变体的综述
  • MongoDB简介
  • 尚硅谷hadoop3.x课程部分资料文件下载,jdk,hadoopjar包