[Node.js] 处理 Get&Post 请求
Node 服务端代码
'use strict';
var http = require('http')
var url = require('url')
var util = require('util');
var querystring = require('querystring');
// 创建服务器
var server = http.createServer()
// 监听 request 请求
server.on('request', function (req, res) {
// 打印请求地址
console.log("request url : " + req.url);
// 解析请求地址
var obj = url.parse(req.url, true)
// 处理主页请求
if (obj.pathname === '/')
{
res.end('index page')
}
// 处理 get 请求
else if (obj.pathname === '/test_get')
{
// 打印 get 请求内容
console.log(obj.query)
if (obj.query.name === 'lysm' && obj.query.password === '123456')
{
res.end('success')
}
else
{
res.end('failed')
}
}
// 处理 post 请求
else if (obj.pathname === '/test_post')
{
var post = '';
req.on('data', function (chunk) // 每次发送数据时 - 回调
{
post += chunk;
});
req.on('end', function () // 数据发送完毕时 - 回调
{
// 解析 post 请求内容
post = querystring.parse(post);
// 打印post 请求内容
console.log(post)
if (post.name === 'lysm' && post.password === '123456') {
res.end('success')
}
else {
res.end('failed')
}
});
req.on('error', function (e) { // 请求发生错误时 - 回调
console.log("ERROR: " + e.message);
res.end('error')
});
}
// 其他请求返回 404
else {
res.end('404 not found')
}
})
// 绑定端口号
server.listen(3000, function () {
console.log('server start ...')
})
使用 postman 测试
1.主页
2.test_get
3.test_post
4.不存在页面