手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >轻松创建nodejs服务器(6):作出响应
轻松创建nodejs服务器(6):作出响应
摘要:我们接着改造服务器,让请求处理程序能够返回一些有意义的信息。我们来看看如何实现它:1、让请求处理程序通过onRequest函数直接返回(re...

我们接着改造服务器,让请求处理程序能够返回一些有意义的信息。

我们来看看如何实现它:

1、让请求处理程序通过onRequest函数直接返回(return())他们要展示给用户的信息。

2、让我们从让请求处理程序返回需要在浏览器中显示的信息开始。

我们需要将requestHandler.js修改为如下形式:

复制代码 代码如下:

function start() {

console.log("Request handler 'start' was called.");

return "Hello Start";

}

function upload() {

console.log("Request handler 'upload' was called.");

return "Hello Upload";

}

exports.start = start;

exports.upload = upload;

同样的,请求路由需要将请求处理程序返回给它的信息返回给服务器。

因此,我们需要将router.js修改为如下形式:

复制代码 代码如下:

function route(handle, pathname) {

console.log("About to route a request for " + pathname);

if (typeof handle[pathname] === 'function') {

return handle[pathname]();

} else {

console.log("No request handler found for " + pathname);

return "404 Not found";

}

}

exports.route=route;

正如上述代码所示,当请求无法路由的时候,我们也返回了一些相关的错误信息。

最后,我们需要对我们的server.js进行重构以使得它能够将请求处理程序通过请求路由返回的内容响应给浏览器,如下所示:

复制代码 代码如下:

var http = require("http");

var url = require("url");

function start(route, handle) {

function onRequest(request, response) {

var pathname = url.parse(request.url).pathname;

console.log("Request for " + pathname + " received.");

response.writeHead(200, {"Content-Type": "text/plain"});

var content = route(handle, pathname);

response.write(content);

response.end();

}

http.createServer(onRequest).listen(8888);

console.log("Server has started.");

}

exports.start=start;

如果我们运行重构后的应用:

请求http://localhost:8888/start,浏览器会输出“Hello Start”,

请求http://localhost:8888/upload会输出“Hello Upload”,

而请求http://localhost:8888/foo 会输出“404 Not found”。

这感觉不错,下一节我们要来了解一个概念:阻塞操作。

【轻松创建nodejs服务器(6):作出响应】相关文章:

常用DOM整理

浅谈利用JavaScript进行的DDoS攻击原理与防御

可拖动窗口,附带鼠标控制渐变透明,开启关闭功能

document对象execCommand的command参数介绍

JavaScript实现Iterator模式实例分析

显示行号的文本输入框

比较方便的onMouseWheel缩放图片效果 原创

Backbone.js的一些使用技巧

JavaSacript中charCodeAt()方法的使用详解

textarea是否自动换行

精品推荐
分类导航