node - get/post
2017-07-28 本文已影响27人
heheheyuanqing
通过get/post请求将表单的信息提交到服务器
使用GET
创建表单
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="http://127.0.0.1:8888/" method="get">
<input type="text" name="name">
<input type="text" name="age">
<input type="submit" value="submit">
</form>
</body>
</html>
创建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'});
// 解析 url 参数
var params = url.parse(req.url, true).query;//将URL字符串转换为对象
res.write("name:" + params.name);
res.write("\n");
res.write("age:" + params.age);
res.end();
}).listen(8888);
URL结构:
URL的结构 使用GET实现get方式是通过解析URL的query内容进而获取到相关信息。
使用POST
创建表单时将method = “post”
<form action="http://127.0.0.1:8888/" method="post">
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));
});
})
使用POST
post方式的内容全部的都在请求体中