nodejs学习笔记<四>处理请求参数
在web开发中处理请求参数是个非常常见的工作;nodejs提供了了querystring用来处理请求参数。
querystring常用方法有:parse,stringify。
(1)parse:
解析请求参数串。querystring.parse(string,char,char);参数:待解析参数串,自定义分隔符,自定义分配字符。
例:
var querystring = require('querystring');
function qs(){
return querystring.parse('name=user&pwd=admin&ID=admin');
}
console.log(qs());
执行结果:

parse后两个参数默认为'&'和'=',若参数串是这样:name:user#pwd:admin#ID:admin 。 使用parse解析就必须声明后两个参数。
querystring.parse('name:user#pwd:admin#ID:admin','#',':');
(2)stringify:
根据传入对象生成参数串。querystring.stringify(Object,char,char);参数:参数对象,自定义分隔符,自定义分配字符。
例:
var querystring = require('querystring');
function qs(){
return querystring.stringify({
id:'fire',
que:'name',
list:['student','teacher']
});
}
console.log(qs());
执行结果:

stringify后两个参数默认为'&'和'=',同parse一样,如果需要其他分隔符或分配字符,则需要声明后两个参数。
补充:
querystring的escape和unescape方法也比较常用。
escape用来转译汉字和特殊字符,反之,unescape用来反转译字符串。
例:
querystring.escape('欢迎使用'); 执行后 
querystring.unescape('%E6%AC%A2%E8%BF%8E%E4%BD%BF%E7%94%A8'); 执行后 
nodejs学习笔记<四>处理请求参数的更多相关文章
- nodejs学习笔记四(模块化、在npm上发布自己的模块)
模块化: 1.系统模块: http.querystring.url 2.自定义模块 3.包管理器 [系统模块] Assert 断言:肯定确定会出现的情 ...
- nodejs学习笔记四——express-session
博友沉沉-_-的这篇express 框架之session分析的已经非常详细了,本人这里就不描述了. 总结其中的几个关键点. 1.http协议规定http链接是无状态的链接,cookie和session ...
- NodeJS学习笔记四
Generator简介 基本概念 Generator函数有多种理解角度.从语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历 ...
- Nodejs学习笔记(四)——支持Mongodb
前言:回顾前面零零碎碎写的三篇挂着Nodejs学习笔记的文章,着实有点名不副实,当然,这篇可能还是要继续走着离主线越走越远的路子,从简短的介绍什么是Nodejs,到如何寻找一个可以调试的Nodejs ...
- Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识
目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...
- Nodejs学习笔记(十六)--- Pomelo介绍&入门
目录 前言&介绍 安装Pomelo 创建项目并启动 创建项目 项目结构说明 启动 测试连接 聊天服务器 新建gate和chat服务器 配置master.json 配置servers.json ...
- Nodejs学习笔记(十六)—Pomelo介绍&入门
前言&介绍 Pomelo:一个快速.可扩展.Node.js分布式游戏服务器框架 从三四年前接触Node.js开始就接触到了Pomelo,从Pomelo最初的版本到现在,总的来说网易出品还算不错 ...
- Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识
前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...
- NodeJS学习笔记 进阶 (13)Nodejs进阶:5分钟入门非对称加密用法
个人总结:读完这篇文章需要5分钟,这篇文章讲解了Node.js非对称加密算法的实现. 摘录自网络 地址: https://github.com/chyingp/nodejs-learning-guid ...
随机推荐
- C#:简单线程样例
1.定义线程类及内部事件 using System; using System.Collections.Generic; using System.Text; using System.Threadi ...
- js实现通用的微信分享组件示例
一.可定义的信息 1.分享时显示的LOGO:2.分享LOGO的宽度:3.分享LOGO的高度:4.分享出去显示的标题(默认调用网页标题):5.分享出去显示的描述(默认调用网页标题):6.分享链接(默认为 ...
- Integer Inquiry -TJU1112
作为最简单的高精度加法,要注意的是如下几点, 第一,因为是数位达到上百位的大数,所以只能用字符串数组来存贮. 第二,为了方便之后的相加操作,应该把字符串数组逆序转化为一个整型数组. 第三,在控制进位的 ...
- C#中通过Selenium定位<a>标签的问题
刚才在QQ群里看到有人提问,如何实现退出百度登录问题.那么之所以会有这个问题,主要是因为这个元素,如下图所示,是无法直接定位到的: 经过研究发现,要想定位到这种元素,拢共分两步: 第一步,把鼠标移到能 ...
- 项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置
想要通过配置文件配置C#前台画面,好奇做了以下测试:在项目中新建了app.config与app1.config两个配置文件,请教一下各位高手如果想从app1.config中读取配置信息应该如何读取?采 ...
- [Python]如何使用HtmlTestRunner让自动化测试报告内容更丰富
简述 使用selenium webdriver + Python做自动化测试,执行完成后要生成测试报告,Python我们使用的HTMLtestrunner 进行生成,但是默认提供的生成报告内容,并不能 ...
- acdream 1093 女神的正多面体
http://acdream.info/problem?pid=1093 女神的正多面体 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 12 ...
- 2016 ACM/ICPC Asia Regional Qingdao Online HDU5889
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5889 解法:http://blog.csdn.net/u013532224/article/details ...
- VS2010常用快捷键
ctrl + K, ctrl + F 自动调整格式(选中内容) F12 转到定义 ctrl + F12 转到声明 ctrl + tab 文档窗口转换(下一个文档窗口) alt + F6 下一个面板窗口 ...
- Linux 系统裁剪
一.前言 Linux操作系统至1991.10.5号诞生以来,就源其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为 ...