post.js
const http = require('http')
const path = require('path')
const fs = require('fs')
const querystring = require('querystring')
const myserver = http.createServer()
myserver.listen(3000, () => {
console.log('服务器启动成功!')
})
let filename
let content
let postData
let un
let pwd
myserver.on('request', (req,res) => {
content = ''
// 由于post请求的地址中不包含表单数据,因此可以直接用
// req.url获取浏览器发送给服务器的请求地址
if(req.url === '/') {
filename = path.join(__dirname, 'form_post.html')
fs.readFile(filename, 'utf-8', (err,data) => {
if(err) {
return console.log('网页文件读取失败!')
}
res.end(data)
})
}
// 如果用户点击了表单中的提交按钮
else if((req.url === '/login') && (req.method === 'POST')) {
// 核心代码,获取浏览器通过POST方式提交到这台服务器上的表单数据
// 类似于流式文件读操作,把req请求对象看做可读流
req.on('data',(chunk) => {
content = content + chunk
})
// 当表单数据全部被content保存后,会自动触发end事件
req.on('end',() => {
// console.log('用户提交的表单数据是:' + content)
// 将content的值(字符串)转化为对象
postData = querystring.parse(content)
// console.log(postData)
// 从表单数据中获取用户名和密码
un = postData.username
pwd = postData.pwd
res.setHeader('Content-Type','text/html;charset=utf-8')
if((un==='admin') && (pwd==='123456')) {
res.end('登录成功!')
}
else {
res.end('<script>alert("用户登录失败");window.location.href="/"</script>')
}
})
}
})
get.js
const http = require('http')
const path = require('path')
const fs = require('fs')
const querystring = require('querystring')
const myserver = http.createServer()
myserver.listen(3000, () => {
console.log('服务器启动成功!')
})
let filename
let content
let postData
let un
let pwd
myserver.on('request', (req,res) => {
content = ''
// 由于post请求的地址中不包含表单数据,因此可以直接用
// req.url获取浏览器发送给服务器的请求地址
if(req.url === '/') {
filename = path.join(__dirname, 'form_post.html')
fs.readFile(filename, 'utf-8', (err,data) => {
if(err) {
return console.log('网页文件读取失败!')
}
res.end(data)
})
}
// 如果用户点击了表单中的提交按钮
else if((req.url === '/login') && (req.method === 'POST')) {
// 核心代码,获取浏览器通过POST方式提交到这台服务器上的表单数据
// 类似于流式文件读操作,把req请求对象看做可读流
req.on('data',(chunk) => {
content = content + chunk
})
// 当表单数据全部被content保存后,会自动触发end事件
req.on('end',() => {
// console.log('用户提交的表单数据是:' + content)
// 将content的值(字符串)转化为对象
postData = querystring.parse(content)
// console.log(postData)
// 从表单数据中获取用户名和密码
un = postData.username
pwd = postData.pwd
res.setHeader('Content-Type','text/html;charset=utf-8')
if((un==='admin') && (pwd==='123456')) {
res.end('登录成功!')
}
else {
res.end('<script>alert("用户登录失败");window.location.href="/"</script>')
}
})
}
})