• nodejs处理get请求


    主要记录下获取get请求里面的参数的问题。

    假设有这样一个链接

    urlString='hello?name=LiLei&position=general'

    要从这个链接里提取出参数name和position的值。这里要用到url模块和querystring模块,所以先准备这两个对象。

    var url = require("url");
    var querystring = require("querystring");

    然后将urlString转化成url对象,并提取参数字符串"name=LiLei&position=general"

    var UrlString = url.parse(urlString); //将字符串urlString转化成url对象UrlString
    var QueryString = UrlString.query;//获取参数字符串,此时QueryString="name=LiLei&position=general"

    然后利用querystring.parse()将参数字符串QueryString转化成含有键值对的对象params

    var params = querystring.parse(QueryString);

    然后用params["name"]、params["position"] (或者params.name、params.position)就能获取参数name、posiotion的值。上面两步也可以综合起来写成

    var params = querystring.parse(url.parse(urlString).query);

    下面给出个小例子(已省去非关键代码):

    var handle = {};
    var url = require("url");
    var querystring = require("querystring");
    
    handle["/hello"] = hello;
    
    function hello(request, response) {
        /*
        url.parse将字符串转化成url对象,
        url.parse().query获取url里面的参数字符串,比如“name=LiLei&position=general”,
        再用querystring.parse(query),将“name=LiLei&position=general”转换成键值对组成的对象params,像{name:"LiLei",position:"general"}这样
        */
        var params = querystring.parse(url.parse(request.url).query);
        response.writeHead(200, {"Content-Type": "text/html;charset=utf-8"});//添加charset=utf-8以支持中文
        response.write("name:" + params.name + "<br/>");
        response.write("position:" + params.position + "<br/>");
    
        /*或者也可以像下面这样使用遍历*/
        /*for(var param in params){
            response.write(param + ":" + params[param] + "<br/>");
        }*/
        
        response.end();
    }
    
    exports.hello = hello;
  • 相关阅读:
    CSS
    网络通信
    模块与包
    python异常处理
    python基础考试一整理
    面向对象最后进阶
    面向对象-反射和__getattr__系列
    property、staticmethod和classmethod
    多态和封装
    scala构造器实战
  • 原文地址:https://www.cnblogs.com/dige1993/p/4770745.html
Copyright © 2020-2023  润新知