node.js 接口模板

//引入模块
var http = require("http");
var fs = require("fs");
var url = require("url");
var queryString = require("querystring");

//创建服务器
var server = http.createServer();

//监听请求
server.on("request",function(request, response){
    
    //获取请求路径
    var currentUrl = request.url;

    //针对不同路径打开不同页面
    if(currentUrl == "/"){
        fs.readFile("./index.html", "utf8", function(err, data){
            if(err){
                response.end("404 Not Found!");
            }else{
                //解决中文乱码
                response.setHeader("Content-Type","text/html;charset=utf-8")
                //写入内容
                response.write(data);
                //结束
                response.end();
                //修改页面
                // response.end(data.toString());
            }
        })

    }else if(currentUrl.indexOf("/getData") === 0){
        //处理表单或者接口
        if(request.method == "POST"){
            //post请求数据可能很大,分片获取
            var postData = "";
            //数据传输中
            request.on("data", function(chunk){
                postData += chunk;
            });
            //数据传输完毕
            request.on("end", function(){
                paramObj = queryString.parse(postData);
                console.log(paramObj);
            });

            //数据处理

            //页面跳转
            response.statusCode = 302;
            response.setHeader("Location", "/");
            response.end();

        }else{
            //接收get请求中的参数
            var paramObj = url.parse(currentUrl, true).query;
            console.log(paramObj);

            //数据处理
            
            //页面跳转
            response.statusCode = 302;
            response.setHeader("Location", "/");
            response.end();
        }

    }else if(currentUrl.indexOf("/public") === 0){ //判断是否为请求静态资源,/public为静态资源目录
        //响应静态资源文件
        fs.readFile("./" + currentUrl, "utf8", function(err, data){
            if(err){
                response.end("404 Not Found!");
            }else{
                //注意不同文件的头不同,乱设置头会导致资源不可用
                // response.setHeader("Content-Type","text/html;charset=utf-8")
                response.write(data);
                response.end();
            }
        })
    }else{
        fs.readFile("./404.html", "utf8", function(err, data){
            if(err){
                response.end("404 Not Found!");
            }else{
                response.end(data.toString());
            }
        })
    }
    
});

//启动服务
server.listen(8080 ,function(){
    console.log("请求了8080端口")
})

posted @ 2021-03-14 00:07  Clearwings  阅读(84)  评论(0)    收藏  举报