NodeJS 中 querystring.parse() 实现原理

querystring.parse()

能把一个 URL 查询字符串(str)解析成一个键值对的集合。

例子,查询字符串 'foo=bar&abc=xyz&abc=123' 被解析成:

{
  foo: 'bar',
  abc: ['xyz', '123']
}

英文API

中文API

实现细节

const http = require('http');

http.createServer(function(req, res){
  
  if(req.url == '/favicon.ico'){
    return;
  }

  var obj = {};

  var arr = req.url.split('?');

  var arr2 = arr[1].split('&');

  for(var i=0; i<arr2.length; i++){
    var arr3 = arr2[i].split('=');
    obj[arr3[0]] = arr3[1];
  }

  console.log(obj);

  res.end();

}).listen(3000, '127.0.0.1', function(){
  console.log('server running at http://127.0.0.1:3000');
});

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 122,054评论 17 134
  • 在进行web开发的前端get或post请求发送参数的时候,在后端提取参数进行数据库查询;在Node.js 的V6....
    Evtion阅读 572评论 2 4
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 1,928评论 1 37
  • 和弟妹们在楼下玩,别家小孩也在。我弟,貌似他还很小的样子,拿石头扔,从我身边擦过去,在汽车上弹了下,砸到别家小孩。...
    裳璎珞阅读 122评论 0 1
  • 今天, 逛街逛的有些累的时候, 想去买杯奶茶。 之前一直听说, 附近有一家“一点点”奶茶, 非常好喝。 所以便和我...
    思考的魏靖阅读 53评论 0 4