最简单的http服务器:
var http=require("http")
http.createServer(function(request,respond){
respond.writeHead(200,{'Content-type':'text/plain'})
respond.end()
}).listen(3000)
上面就是一个最简单的http服务器,但它并没有在响应中写入任何内容。
接收GET请求并处理:
// 浏览器发出get请求(输入url),node.js解析get请求的参数并返回
var http=require("http")
var url=require("url")
http.createServer(function(request,respond){
var parser=url.parse(request.url,true).query//query是url解析后的一个属性,true时,query解析为对象
respond.writeHead(200,{'content-type':'text/plain'})
respond.write(parser.name)
respond.write(parser.url)
respond.end()
}).listen(3000)
query是url解析后的一个属性:
结果如下:
post在表单中提交数据,并返回结果
var http=require("http")
var querystring=require("querystring")
var form1='<html lang="en"><head><meta charset="UTF-8"><title>练习代码</title></head><body><form method="post">你的名字:<input name="name"><br> 网站url:<input name="url"><br><input type="submit"></form></body>'
http.createServer(function(req,res){
var body=''
req.on('data',function(chunk){
body+=chunk
})
req.on('end',function(){
body=querystring.parse(body)
if(body.name&&body.url){
res.writeHead(200,{'content-type':'text/html;charset="UTF-8"'})
res.write('你的名字:'+body.name+'<br>')
res.write('网站url:'+body.url+'<br>')
res.end()
}
else{
res.writeHead(200,{'content-type':'text/html;charset="UTF-8"'})
res.write(form1)
res.end()
}
})
}).listen(3000)
过程:定义空表单并设置post方式--->创建http服务器--->服务器接受req--->req内容为空--->返回空表单--->表单填入数据并提交--->数据解析为对象--->res返回相应数据
提交后: