zoukankan      html  css  js  c++  java
  • node中的get请求和post请求的不同操作【node学习第五篇】

    获取get的请求内容

     1 /**
     2  * Created by Administrator on 2016/8/5.
     3  */
     4 var http = require("http");
     5 var url = require("url");
     6 var util = require("util");
     7 function start(req, res){
     8     res.writeHead("200", {"Content-type": "text/plain"});
     9     //url.parse():  url.parse原始的 path 被解析为一个对象
    10     //util.inspect(): 将对象转换为字符串
    11     res.end(util.inspect(url.parse(req.url, true)));
    12 }
    13 var server = http.createServer(start).listen("3000", "127.1.1.1",function(){
    14     var port = server.address().port;
    15     var host = server.address().address;
    16     console.log("%s:%d",host,port);
    17 });

    在浏览器输入:http://127.1.1.1:3000/user?name=leeanna&age=23&sex=man

    得到结果为:

    Url {
      protocol: null,
      slashes: null,
      auth: null,
      host: null,
      port: null,
      hostname: null,
      hash: null,
      search: '?name=leeanna&age=23&sex=man',
      query: { name: 'leeanna', age: '23', sex: 'man' },
      pathname: '/user',
      path: '/user?name=leeanna&age=23&sex=man',
      href: '/user?name=leeanna&age=23&sex=man' }

    获取post的请求数据【POST 请求的内容全部都在请求体中】

    /**
     * Created by Administrator on 2016/8/5.
     */
    var http = require("http");
    var querystring = require("querystring");
    var util = require("util");
    function start(req, res){
        var post = "";
        //当请求体数据到来时,该事件被触发。该事件提供一个参数 chunk,表示接收到的数据
        res.on("data", function(chunk){
            post += chunk;  //请求体可能相对较长,需要一定的时间传输,可能会被调用多次
        });
        //end :当请求体数据传输完成时,该事件被触发,此后将不会再有数据到来。
        res.on("end", function(){
            //querystring.parse 将 post 解析为真正的 POST 请求格式
            post = querystring.parse(post);
            res.end(util.inspect(post));
        });
    }
    var server = http.createServer(start).listen("3001", "127.1.1.1",function(){
        var port = server.address().port;
        var host = server.address().address;
        console.log("%s:%d",host,port);
    });

    上面的示例仅帮助理解,实际应用中不会如此简单。

  • 相关阅读:
    [转载]杨建:网站加速--动态应用篇 (下)
    [转载]杨建:网站加速--动态应用篇 (下)
    [转载]正则表达式 30分钟入门 教程
    [转载]正则表达式 30分钟入门 教程
    Single Number
    数据库应该使用异步吗 Should my database calls be Asynchronous?
    C# return dynamic/anonymous type value as function result
    Entity Framework: 视图查询时重复返回第一行值, duplicate frst rows in resultset from a view
    wysiwyg editor
    shutdown computer in ad and ou
  • 原文地址:https://www.cnblogs.com/lee90/p/5741476.html
Copyright © 2011-2022 走看看