Node.js学习笔记(十四、GET/POST请求)

简介: Node.js学习笔记(十四、GET/POST请求)
+关注继续查看

获取get请求数据

get请求将数据放在utl里,所以获得get请求数据,需要手动解析url;

实例:

getRequest.js:

var http = require('http');
var url = require('url');
var util = require('util');
 
http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
    res.end(util.inspect(url.parse(req.url, true)));
}).listen(3000);

console.log("服务已启动");

启动,访问地址:localhost:3000/user?name=紫霞仙子&movie=《大话西游》,url中传递name和movie两个参数:

image.png

image.png

获取 URL 的参数

可以通过url。parse来获取url中的参数,

实例,urlParse.js:

var http = require('http');
var url = require('url');
var util = require('util');

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

console.log("服务已启动");

启动,还是那个地址:

image.png

image.png

获取post请求数据

POST 请求的内容全部的都在请求体中,http.ServerRequest 并没有一个属性内容为请求体,原因是等待请求体传输可能是一件耗时的工作。

比如上传文件,而很多时候并不需要理会请求体的内容,恶意的POST请求会大大消耗服务器的资源,所以 node.js 默认是不会解析请求体的,解析post请求体,需要手动来做。

语法:

var http = require('http');
var querystring = require('querystring');
var util = require('util');
 
http.createServer(function(req, res){
    // 定义了一个post变量,用于暂存请求体的信息
    var post = '';     
 
    // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
    req.on('data', function(chunk){    
        post += chunk;
    });
 
    // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
    req.on('end', function(){    
        post = querystring.parse(post);
        res.end(util.inspect(post));
    });
}).listen(3000);

实例,postRequest.js:

var http = require('http');
var querystring = require('querystring');
var util = require('util');
 
http.createServer(function(req, res){
    // 定义了一个post变量,用于暂存请求体的信息
    var post = '';     
 
    // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
    req.on('data', function(chunk){    
        post += chunk;
    });
 
    // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
    req.on('end', function(){    
        post = querystring.parse(post);
        res.end(util.inspect(post));
    });
}).listen(3000);

启动,访问:localhost:3000

image.png

image.png

image.png

参考:

【1】、https://www.runoob.com/nodejs/node-js-get-post.html


目录
相关文章
|
3月前
|
JSON 监控 JavaScript
【Node.js】一文带你开发博客项目之接口(处理请求、搭建开发环境、开发路由)
【Node.js】一文带你开发博客项目之接口(处理请求、搭建开发环境、开发路由)
|
7月前
node笔记记录71params和post请求2
node笔记记录71params和post请求2
24 0
node笔记记录71params和post请求2
|
7月前
node笔记记录73params和post请求3
node笔记记录73params和post请求3
24 0
node笔记记录73params和post请求3
|
7月前
node笔记记录72params和post请求2
node笔记记录72params和post请求2
36 0
node笔记记录72params和post请求2
|
7月前
node笔记记录74params和post请求4
node笔记记录74params和post请求4
26 0
node笔记记录74params和post请求4
|
7月前
node笔记记录70params和post请求1
node笔记记录70params和post请求1
25 0
node笔记记录70params和post请求1
|
7月前
node笔记记录69params和post请求1
node笔记记录69params和post请求1
31 0
node笔记记录69params和post请求1
|
7月前
|
JavaScript
开心档-Node.js GET/POST请求
在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。 表单提交到服务器一般都使用 GET/POST 请求。 本章节我们将为大家介绍 Node.js GET/POST请求。
开心档-Node.js GET/POST请求
|
7月前
|
JavaScript
开心档-软件开发入门之Node.js GET/POST请求
在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。 表单提交到服务器一般都使用 GET/POST 请求。 本章节我们将为大家介绍 Node.js GET/POST请求。
|
8月前
|
监控 JavaScript 前端开发
使用node的服务器请求初解
前几天写了一个翻译小工具,使用了node.js的http服务器请求,在这里记录一下使用的步骤和注意事项
79 0
使用node的服务器请求初解
相关产品
云迁移中心
推荐文章
更多