简单注册(node搭建web服务器,带数据库)
知识点
获取post请求表单数据
get请求可以使用response对象的url属性进行获取,post请求则需要使用response对象的事件监听函数req.on('data',rollback)和req.on('end',rollback),前者表示数据发送,在回调函数中有一个chunk参数可以接收客户端的数据,后者表示数据发送完成。在通过事件监听函数拿到前端数据后,可以使用querystring模块的parse方法对数据进行解析。
点击查看代码
const server = http.createServer((req,res) => {
let postVal=""
req.on('data',(chunk) => {
postVal+=chunk
})
req.on('end',() => {
let formVal = querystring.parse(postVal)
let userName = formVal.userName
let passWord = formVal.passWord
res.end()
})
})
mysql数据库基本增删改查
- 查询:select 字段名 from 表名 (where条件)
- 增加:inser into 表名(字段1,字段2···)values(值1,值2···)
- 删除:delete * from 表名 (where条件)
res响应乱码问题解决
res.writeHead(200,{"Content-Type":"text/html;charset=utf8"})
代码示例
点击查看代码
//模块引入
const http = require("http")
const querystring = require("querystring")
const mysql = require("mysql")
const server = http.createServer((req,res) => {
if(req.url!="/favicon.ico"){//阻止空数据
let postVal = ""
req.on('data',(chunk) => {
postVal+=chunk
})
req.on('end',() => {
let formVal = querystring.parse(postVal)
let userName = formVal.userName
let passWord = formVal.passWord
const connection = mysql.createConnection({
host:"127.0.0.1",
user:"root",
password:"1234",
database:"node"
})
connection.connect()
let sql = "insert into user(userName,passWord) values(?,?)"
connection.query(sql,[userName,passWord],(err,results,fields) => {
if(err) throw err
res.writeHead(200,{"Content-Type":"text/html;charset=utf8"})
res.write("注册成功")
res.end()
})
connection.end()
})
}
})
server.listen(8000,()=>{
console.log("监听8000端口")
})
效果展示



小本在学习ing:心若向阳,何必惆怅。
浙公网安备 33010602011771号