zoukankan      html  css  js  c++  java
  • node03--http

    form.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <form action="http://127.0.0.1:3000/" method="GET">
            <input type="text" name="name" /> <br />
            <input type="text" name="age" /> <br />
            <input type="radio" name="sex" value="男"/><input type="radio" name="sex" value="女"/><br />
            <input type="submit">
        </form>
    </body>
    </html>

    http.js

    //这个案例简单讲解http模块
    //引用模块
    var http = require("http");//Object.require("http")
    
    //创建一个服务器,回调函数表示接收到请求之后做的事情
    var server = http.createServer(function(req,res){
        //req参数表示请求,res表示响应
        console.log("服务器接收到了请求" + req.url);
        //设置头部
        res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
        res.write("<h1>我是主标题</h1>");
        res.write("<h2>我是2标题</h2>");
        res.write("<h2>我是2标题</h2>");
        res.write("<h2>我是2标题</h2>");
        res.write("<h3>我是3标题</h3>");
        res.end((1+2+3).toString());
    });
    
    //监听端口
    server.listen(3000,"127.0.0.1");

    req.js

    var http = require("http");
    
    var server = http.createServer(function(req,res){
        console.log(req.url);// '/'
        res.end();
    });
    
    server.listen(3000,"127.0.0.1");

    url.js

    var http = require("http");
    var url = require("url");
    
    var server = http.createServer(function(req,res){
        //url.parse()可以将一个完整的URL地址,分为很多部分:
        //host、port、pathname、path、query
        var pathname = url.parse(req.url).pathname;
    
        //url.parse()如果第二个参数是true,那么就可以将所有的查询变为对象
        //就可以直接打点得到这个参数
        var query = url.parse(req.url,true).query;
    
        //直接打点得到这个参数
        var age = query.age;
        
        console.log("pathname:" + pathname);// ''
        console.log(query);//json格式
        console.log("age:" + age);
        
        res.end();
    });
    
    server.listen(3000,"127.0.0.1");

    url.js

    var http = require("http");
    var url = require("url");
    
    var server = http.createServer(function(req,res){
        //得到查询部分,由于写了true,那么就是一个对象
        var queryObj = url.parse(req.url,true).query;
        var name = queryObj.name;
        var age = queryObj.age;
        var sex = queryObj.sex;
        
        res.end("服务器收到了表单请求" + name + age + sex);
    });
    
    server.listen(3000,"127.0.0.1");

     route.js

    /*
    当用户访问/student/1234567890 的查询此学号的学生信息。
    当用户方位/teacher/645433 的时候,查询此老师的信息
    其他的,我们提示错误。如果位数不对,也是提示位数不对
    localhost:3000/student/1234567890
    */
    var http = require("http");
    
    var server = http.createServer(function(req,res){
        //得到url
        var userurl = req.url;
    
        res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"})
        //substr函数来判断此时的开头
        if(userurl.substr(0,9) == "/student/"){
            var studentid = userurl.substr(9);
            console.log(studentid);
            if(/^d{10}$/.test(studentid)){
                res.end("您要查询学生信息,id为" + studentid);
            }else{
                res.end("学生学号位数不对");
            }
        }else if(userurl.substr(0,9) == "/teacher/"){
            var teacherid = userurl.substr(9);
            if(/^d{6}$/.test(teacherid)){
                res.end("您要查询老师信息,id为" + teacherid);
            }else{
                res.end("老师学号位数不对");
            }
        }else{
            res.end("请检查url");
        }
    });
    
    server.listen(3000,"127.0.0.1");
  • 相关阅读:
    发布国内首个无服务器容器服务,运维效率从未如此高效
    阿里云异构计算团队亮相英伟达2018 GTC大会
    阿里如何将“高峰前扩容、高峰后缩容”的梦想照进现实?
    迁移到 GRUB 2
    (11计科1班-孙鹏启)SHELL脚本—期末成绩统计
    硬盘分区的c盘在外圈还是内圈
    Linux内核设计的艺术(第2版)
    卸载,弹出,安全移除驱动器 的区别
    (11级计科2班-张文旭)关于LINUX连接网络问题
    安装Zend Guard Loader
  • 原文地址:https://www.cnblogs.com/yaowen/p/7028196.html
Copyright © 2011-2022 走看看