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, ...
获取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("服务已启动");
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
启动,访问地址:localhost:3000/user?name=紫霞仙子&movie=《大话西游》,url中传递name和movie两个参数:
获取 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("服务已启动");
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
启动,还是那个地址:
获取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);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
实例,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);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
启动,访问:localhost:3000
参考:
【1】、https://www.runoob.com/nodejs/node-js-get-post.html
文章来源: blog.csdn.net,作者:三分恶,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/sinat_40770656/article/details/96994756
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)