如何用node.js建立http服务器

最简单的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返回相应数据


提交后:


猜你喜欢

转载自blog.csdn.net/tao_gis/article/details/79943828