关于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啥的(好像是一起的)
说明
向后端发送请求的方法不止这一个,但是这个还算比较简洁
有什么问题可以直接私信我
原文地址:https://blog.csdn.net/weixin_61133168/article/details/134746460
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_24838.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。