nodeJs学习-05 案例:http/fs/querystring/url

Posted lchenglong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodeJs学习-05 案例:http/fs/querystring/url相关的知识,希望对你有一定的参考价值。

 

const http = require(‘http‘);
const fs = require(‘fs‘);
const querystring = require(‘querystring‘);
const urlLib = require(‘url‘);

var users =    //模拟用户

;


var server = http.createServer(function(req,res)
  //解析数据
  var str = ‘‘;
  req.on(‘data‘,function(data)
    str +=data;
  );

  req.on(‘end‘,function()
    var obj = urlLib.parse(req.url,true);
    console.log(obj);

    const url = obj.pathname;
    const GET = obj.query;
    const POST = querystring.parse(str);

    //读取文件
        // 区分 —— 接口、文件
        if(url == ‘/user‘)    //访问接口
          switch (GET.act) 
            case ‘reg‘: //注册
              // 1.检查用户名是否有了
              // 2.插入users
              if(users[GET.user])
                res.write(‘"ok":false,"msg":"此用户已经存在"‘);
              else
                users[GET.user] = GET.pass;
                res.write(‘"ok":true,"msg":"注册成功"‘);
              
              break;
            case ‘login‘:   //登录
              // 1.检查用户是否存在
              // 2.检查用户密码
              if(users[GET.user] == null)
                res.write(‘"ok":false,"msg":"此用户不存在"‘);
              else if(users[GET.user] != GET.pass)
                res.write(‘"ok":false,"msg":"用户名或密码错误"‘);
              else
                res.write(‘"ok":true,"msg":"登录成功"‘);
              
              break;
            default:
              res.write(‘"ok":false,"msg":"未知的act"‘);
          ;

          res.end();

        else    //读取文件
          // console.log(url);
          var file_name = ‘section06/www‘ + url;
          fs.readFile(file_name,function(err,data)
            if(err)
              res.write(‘404‘+file_name);
            else
              res.write(data);
            
            res.end();
          );
        


  );
);

server.listen(8083);

 

以上是关于nodeJs学习-05 案例:http/fs/querystring/url的主要内容,如果未能解决你的问题,请参考以下文章

nodejs之利用第3方包,做数据库操作登录页面验证案例(案例中的动态页面都是基于后端渲染的)

NodeJs 中的 HTML 模板

学习nodejs必会基础预备知识

2018-05-31 Linux学习

nodejs异步案例

为啥我应该在 MongoDB 中使用 NodeJS 在会话案例中搜索用户?