Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

Outline

http 模块

所有后端动态语言要想运行起来,都得先搭建服务器。Node.js 搭建服务器需要用到一个原生的模块 http。

  1. 加载 http 模块
  2. 调用 http.createServer() 方法创建服务,方法接受一个回调函数,回调函数中有两个参数,第一个是请求体,第二个是响应体。
  3. 在回调函数中一定要使用 response.end() 方法,用于结束当前请求,不然当前请求会一直处在等待的状态。
  4. 调用 listen 监听一个端口。
//原生模块
var http = require('http');

http.createServer(function(reqeust, response){
	response.end('Hello Node');
}).listen(8080);

参数接受 -- GET

当以 GET 请求服务器的时候,服务器可以通过 request.mothod 来判断当前的请求方式并通过 request.url 来获取当前请求的参数。

var http = require('http');
var url = require('url');
 
http.createServer(function(req, res){
    var params = url.parse(req.url, true).query;
    res.end(params);
 
}).listen(3000);

参数接受 -- POST

不同于 GET 请求,POST 请求不能通协 url 进行获取,这个时候就需要用到请求体的事件进行监听获取

var http = require('http');
var util = require('util');
var querystring = require('querystring');
 
http.createServer(function(req, res){
    // 定义了一个post变量,用于暂存请求体的信息
    var post = '';     
 
    // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
    req.on('data', function(chunk){    
        post += chunk;
    });
 
    // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
    req.on('end', function(){    
        post = querystring.parse(post);
        res.end(util.inspect(post));
    });
}).listen(3000);
Morty Proxy This is a proxified and sanitized view of the page, visit original site.