nodejs处理get请求
2015-08-30 13:22
603 查看
主要记录下获取get请求里面的参数的问题。
假设有这样一个链接
urlString='hello?name=LiLei&position=general'
要从这个链接里提取出参数name和position的值。这里要用到url模块和querystring模块,所以先准备这两个对象。
然后将urlString转化成url对象,并提取参数字符串"name=LiLei&position=general"
然后利用querystring.parse()将参数字符串QueryString转化成含有键值对的对象params
然后用params["name"]、params["position"] (或者params.name、params.position)就能获取参数name、posiotion的值。上面两步也可以综合起来写成
下面给出个小例子(已省去非关键代码):
假设有这样一个链接
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;
相关文章推荐
- 一步一步讲解安装NodeJs开发环境
- Nodejs初阶之express
- leetcode_019Remove Nth Node From End of List
- btrfs连载(一)inode.c之btrfs_create函数
- LeetCode Swap Nodes in Pairs
- LeetCode Swap Nodes in Pairs
- 2015-08-04个人定制(nodejs中的循环陷阱)
- HDFS架构——NameNode
- 25 Reverse Nodes in k-Group
- Leetcode 222: Count Complete Tree Nodes
- Delete Node in a Linked List 单链表删除节点
- NodeJS 读取XML文件
- LeetCode2.2.9(Reverse Nodes in k-Group)
- LeetCode2.2.8(Swap Nodes in Pairs)
- LeetCode2.2.7(Remove Nth Node From End of List)
- 在Ubuntu上安装Node.js的Upstream版本
- Delete Node in a Linked List
- LeetCode Remove Nth Node From End of List
- LeetCode Remove Nth Node From End of List
- windows下使用Nodejs开发Express4.x