node.js中的get/post请求

2017-07-27  本文已影响0人  秘果_li

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方法发送

上一篇下一篇

猜你喜欢

热点阅读