zoukankan      html  css  js  c++  java
  • 二十二、Node.js-get&post

    get:

    前台代码:

    <body>
    <h1>登录</h1>
    <form action="/dologin" method="get">
        账号<input type="text" name="username">
        密码<input type="text" name="password">
        <input type="submit" value="登录">
    </form>
    </body>

    参数传递通过URL传值:

    点击登录之后:

    后台获取数据代码:

    var http = require("http")
    var url = require("url")
    var ejs = require('ejs')
    http.createServer(function (req, res) {
        res.writeHead(200, {"Content-Type": "text/html;charset='utf-8'"})
        var allUrl = req.url;
        var parseUrl = url.parse(allUrl,true);
        var path = parseUrl.pathname;
        if (path == "/login") {//显示登录页面
            ejs.renderFile("views/loginPage.ejs",{},function (err,data) {
                res.end(data)
            })
        } else if (path == "/dologin") {//执行登录操作
            //后台获取前台get传值数据
            console.log(parseUrl.query);//{ username: '111', password: '222' }
            res.end("dologin")
        } else  {//显示index页面
            ejs.renderFile("views/index.ejs",{},function (err,data) {
                res.end(data)
            })
        }
    }).listen(8000)

    post:

    前台代码:

    <h1>登录</h1>
    <form action="/dologin" method="post">
        账号<input type="text" name="username">
        密码<input type="text" name="password">
        <input type="submit" value="登录">
    </form>

    点击登录之后url里面没有传值:而是在头文件里面传值

    后台获取数据代码:

    var http = require("http")
    var url = require("url")
    var ejs = require('ejs')
    http.createServer(function (req, res) {
        res.writeHead(200, {"Content-Type": "text/html;charset='utf-8'"})
        var allUrl = req.url;
        var parseUrl = url.parse(allUrl,true);
        var path = parseUrl.pathname;
        //获取前台的传值方式get还是post
        var method=req.method.toLowerCase();
        console.log(method);
        if (path == "/login") {//显示登录页面
            ejs.renderFile("views/loginPage.ejs",{},function (err,data) {
                res.end(data)
            })
        } else if (path == "/dologin"&&method=='get') {//执行登录操作
            //后台获取前台get传值数据
            console.log(parseUrl.query);//{ username: '111', password: '222' }
            res.end("dologin")
        } else if (path == "/dologin"&&method=='post') {//执行登录操作
            //后台获取前台post传值数据
            var  postStr='';
            req.on("data",function (chunk) {//注意这里回调函数只写一个参数
                postStr+=chunk;
            })
            req.on("end",function (err,chunk) {
                console.log(postStr);//username=111&password=222
                //后台向前台输出js逻辑:
                res.end("<script>alert('登录成功!');history.back()</script>")
            })
        } else  {//显示index页面
            ejs.renderFile("views/index.ejs",{},function (err,data) {
                res.end(data)
            })
        }
    }).listen(8000)
  • 相关阅读:
    linux系统中sed命令删除指定行后的下一行
    linux系统中删除文件的最后几行
    linux系统中sed命令删除指定行及其后的若干行
    linux系统中sed命令整行替换
    linux系统中sed命令在指定行前(后)插入内容
    CVE-2010-3333-office RTF栈溢出漏洞分析
    BM 算法
    HDFS 的 API 操作
    linux 服务器使用百度网盘
    linux 下配置java JDK1.8
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/10772616.html
Copyright © 2011-2022 走看看