博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] nodeJS的post提交简单实现
阅读量:6006 次
发布时间:2019-06-20

本文共 1855 字,大约阅读时间需要 6 分钟。

index.js:

1
2
3
4
5
6
7
8
var
server = require(
'./server'
);
var
router = require(
'./route'
);
var
requestHandler = require(
'./requestHandler'
);
var
hander = {};
hander[
'/'
] = requestHandler.start;
hander[
'/start'
] = requestHandler.start;
hander[
'/upload'
] = requestHandler.upload;
server.starts(router.router, hander);

server.js:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
http = require(
'http'
);
var
url = require(
'url'
);
function
start(router, hander) {
    
function
onRequest(request, response) {
        
var
pathname = url.parse(request.url).pathname;
        
var
postData =
""
;
        
request.setEncode =
"utf8"
;
        
request.addListener(
'data'
,
function
(postDataChunk){
            
postData += postDataChunk;
        
})
        
request.addListener(
'end'
,
function
(){
            
router(pathname, hander, response, postData);
        
})
    
}
    
http.createServer(onRequest).listen(8080);
}
exports.starts = start;

route.js:
1
2
3
4
5
6
7
8
9
function
route(pathname, handler, response, postData) {
    
if
(
typeof
(handler[pathname]) ===
'function'
) {
        
handler[pathname](response, postData);
        
return
true
;
    
}
else
{
        
return
false
;
    
}
}
exports.router = route;

requestHandler.js:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
querystring = require(
"querystring"
);
function
start(response) {
    
var
body =
'<html>'
+
'<head>'
+
'<meta http-equiv="Content-Type" content="text/html; '
+
'charset=UTF-8" />'
+
'</head>'
+
'<body>'
+
    
'<form action="/upload" method="post">'
+
'<textarea name="text" rows="20" cols="60"></textarea>'
+
'<input type="submit" value="Submit text" />'
+   
'</form>'
+
'</body>'
+
'</html>'
;
    
response.write(body);
    
response.end();
}
function
upload(response, postData) {
    
response.write(
"You've sent: "
+ querystring.parse(postData).text);
    
response.end();
}
exports.start = start;
exports.upload = upload;

访问localhost:8080/start或者localhost:8080;输入数据,提交即可。

转载于:https://www.cnblogs.com/qiangxia/p/4363232.html

你可能感兴趣的文章
我的友情链接
查看>>
Drupal第三方模块汇集(一)
查看>>
我的友情链接
查看>>
使用spring的自身的listener进行web的配置
查看>>
linux学习之“VI”与“VIM”
查看>>
linux下无线网卡驱动安装
查看>>
oracle recyclebin与flashback drop
查看>>
我的友情链接
查看>>
svmlight使用说明
查看>>
LVM
查看>>
学习之shell脚本
查看>>
Andorid Launcher程序代码分析
查看>>
Swing 和AWT之间的关系
查看>>
Mysql设置自增长主键的初始值
查看>>
Android计时器正确应用方式解析
查看>>
手机视频会议的实现
查看>>
性能及监控
查看>>
linux系统CPU、内存、硬盘、网络、lnmp服务整体监控邮件报警
查看>>
我的友情链接
查看>>
个人总结问卷调查,头脑风暴,焦点小组的区别
查看>>