美文网首页
node.js中的get/post请求

node.js中的get/post请求

作者: 秘果_li | 来源:发表于2017-07-27 15:27 被阅读0次

    node是运行在服务端的javaScript语言,用户向服务器发送请求就要用到get/post方法

    获取get请求的内容

    get请求被嵌入在路径中,我们可以通过手动解析url来获取get请求的参数

    我们通过form表单来发送获取到的信息

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="http://127.0.0.1:3000/" method="get">
        <input type="text" name="name">
        <input type="text" name="number">
        <button>Send</button>
    </form>
    </body>
    </html>
    

    在终端运行下边的js代码文件


    parse函数的作用是解析url,返回一个json格式的数组

    var http = require('http');
    var url = require('url');
    var util = require('util');
    
    http.createServer(function(req, res){
        res.writeHead(200, {'Content-Type': 'text/plain'});
    
        // 解析 url 参数
        var params = url.parse(req.url, true).query;
        res.write("name:" + params.name);
        res.write("\n");
        res.write("number:" + params.number);
        res.end();
    
    }).listen(3000);
    

    然后在浏览器中运行并输入信息


    点击send按钮



    将HTML中的方法改成method="post"

    获取post请求内容

    POST请求的内容全部的都在请求体中,所有node.js 默认是不会解析请求体的,当需要的时候,需要手动来做

    var http = require('http');
    var querystring = require('querystring');
    var util=require('util');
    
    http.createServer(function (req, res) {
        var body = "";
        req.on('data', function (chunk) {
            body += chunk;
        });
        req.on('end', function () {
            // 解析参数
            body = querystring.parse(body);
            // 设置响应头部信息及编码
            res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});
    
            if(body.name && body.number) { // 输出提交的数据
                res.write("yourName:" + body.name);
                res.write("<br>");
                res.write("number:" + body.number);
            }
            res.end();
        });
    }).listen(3000);
    

    由于get方法发送的信息是暴露在外的,密码等具有保密性质的信息不使用get方法发送

    相关文章

      网友评论

          本文标题:node.js中的get/post请求

          本文链接:https://www.haomeiwen.com/subject/toyzkxtx.html