Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / node.js 接收get请求

Get 请求的相关方法一定在http.ServerRequest下,ServerRequest有data、end、close3个事件,method、url、headers、trailers、httpVersion、connection6个属性,setEncoding、pause、resume3个方法。url属性下有一段说明描述了怎么解析get请求:

request.url#

Request URL string. This contains only the URL that is present in the actual HTTP request. If the request is:GET /status?name=ryan HTTP/1.1 Accept: text/plain Then request.url will be:"/status?name=ryan"If you would like to parse the URL into its parts, you can use require("url").parse(request.url). Example:node> require("url").parse("/status?name=ryan") { href: "/status?name=ryan", search: "?name=ryan", query: "name=ryan", pathname: "/status" }If you would like to extract the params from the query string, you can use therequire("querystring").parse function, or pass true as the second argument to require("url").parse. Example:node> require("url").parse("/status?name=ryan", true) { href: "/status?name=ryan", search: "?name=ryan", query: { name: "ryan" }, pathname: "/status" }说明中提到了require("url")和require("querystring") 可以分别查看API的URLQuery Strings小节
按照说明试一下吧(node> 表示 在命令行里敲代码)
那就结合 hello world 写一个动态的hello world[javascript]
  1. var http = require("http");  
  2. var server = http.createServer();  
  3.   
  4. server.on("request",function (req, res){  
  5.   res.writeHead(200, {"Content-Type""text/plain"});  
  6.   var name = require("url").parse(req.url,true).query.name  
  7.   res.end("Hello World " + name);  
  8. });  
  9.   
  10. server.listen(1337, "127.0.0.1");  
  11.   
  12. console.log("Server running at http://127.0.0.1:1337/");  
将以上代码保存到  example3.js文件中,在cmd中敲入node example3.js

在浏览器地址栏中敲入  http://127.0.0.1:1337/hello?name=myname
挺简单的,下一节讲复杂的post http://www.linuxidc.com/Linux/2012-02/53535.htm