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;
nodejs处理get请求的更多相关文章
- nodejs接收post请求参数
原文 https://blog.csdn.net/u013263917/article/details/78682270#1.2 nodejs接收post请求参数1.1-浏览器发送post请求参数的方 ...
- nodejs模仿http请求组件nodegrass简单例子
1.搭建nodejs环境. 2.执行npm install nodegrass命令. 3.引入模块,var ng= require(nodegrass); 4.下面先看nodegrass底层的get方 ...
- nodejs发起HTTPS请求并获取数据
摘要:在网站中有时候需要跨域请求数据,直接用Ajax无法实现跨域,采用其他方式需要根据不同的浏览器做相应的处理.用Nodejs可以很好的解决这些问题,后台引用HTTPS模块,发送和返回的数据均为JSO ...
- Nodejs发送Post请求时出现socket hang up错误的解决办法
参考nodejs官网发送http post请求的方法,实现了一个模拟post提交的功能.实际使用时报socket hang up错误. 后来发现是请求头设置的问题,发送选项中需要加上headers字段 ...
- nodejs 发起http请求
http://nodejs.cn/api/http.html#http_http_request_options_callback http://yijiebuyi.com/blog/8221eb14 ...
- nodejs的POST请求
http://blog.csdn.net/puncha/article/details/9015317 Nodejs 发送HTTP POST请求实例 2013-06-03 17:55 71745人阅读 ...
- nodejs笔记2——请求路由
对于不同的URL请求,服务器应该有不同的反应.我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码.我们需要的所有数据都会包含在request对象中, ...
- nodejs中https请求失败,无报错
今天群里一位同学在做练习的时候,采用https例子: // curl -k https://localhost:8000/ const https = require('https'); const ...
- nodejs获取post请求发送的formData数据
前端post请求发送formData的类型数据时,需要服务端引入中间件body-parser,主要原因是post请求发送的数据,是在http的body里面,所以需要进行解析,否则获取不到数据(数据为空 ...
随机推荐
- Spring Scope:Web项目中如何安全使用有状态的Bean对象?
Web系统是最常见的Java应用系统之一,现在流行的Web项目多使用ssm或ssh框架,使用spring进行bean的管理,这为我们编写web项目带来了很多方便,通常,我们的controler层使用注 ...
- Win10 UWP 开发系列:使用SQLite
在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中.但如果数据多的话,还是需要本地数据库的支持.在UWP开发中 ...
- C++控制台贪吃蛇代码
游戏截图: 以下是3个代码文件: Snake_Class.h文件: #ifndef SNAKE #define SNAKE #include<windows.h> #include< ...
- Java 9将采用新的版本字符串格式
在现有的版本编码格式使用了两年之后,从Java 9开始,Java版本方案将根据业内软件版本编码的最佳实践进行修改.使用或解析Java版本字符串的应用程序开发人员要注意了,因为这种变化 ...
- WinFrom窗体始终置顶
调用WindowsAPI使窗体始终保持置顶效果,不被其他窗体遮盖: [DllImport("user32.dll", CharSet = CharSet.Auto)] privat ...
- 初识Spring MVC
1.什么是Spring MVC? Spring MVC属于SpringFrameWork的后续产品,它提供了构建 Web 应用程序的全功能 MVC 模块,与Struts2一样是一种优秀MVC框架,不同 ...
- 适应手机端的jQuery图片滑块动画DEMO演示
在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- 谷歌livereload插件使用
1.插件下载地址:http://www.chromein.com/search_livereload_1.html 2.谷歌浏览器启用改插件 3.sublime 安装livereload插件,安装方法 ...
- WebStorage记录滚动条位置
因关注公众号<HTML5学堂>看到这篇文章 "利用本地存储,记录滚动条的位置" ,便好奇敲来试试,然后又看了一些关于WebStorage的资料 附上这篇文章的地址 ht ...
- Javascript中构造函数与new命令
典型的面向对象编程语言(比如C++和Java),存在“类”(class)这个概念.所谓“类”就是对象的模板,对象就是“类”的实例.但是,在JavaScript语言的对象体系,不是基于“类”的,而是基于 ...