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方式的内容全部的都在请求体中

上一篇下一篇

猜你喜欢

热点阅读