node.js并使用单个或多个脚本处理多个ajax调用

时间:2014-01-10 15:18:34

标签: javascript node.js

前几天我刚开始潜入Node.js。我喜欢我所看到的,它看起来像我的项目所需要的。

我还没有找到答案,也许我只是不知道如何在网络上正确搜索它。

我是否可以使用单个Node.js脚本根据请求处理不同的ajax请求和使用不同JSON的响应,或者我需要在不同的端口上侦听单独的脚本来处理每个不同的请求。

我希望能够将参数传递给我的ajax请求,以驱动脚本执行特定的函数并根据这些参数返回JSON。

2 个答案:

答案 0 :(得分:1)

当您考虑将Node.js用于下一个项目时,您需要一个可扩展的解决方案,它可以充当Web服务器(接受并响应同一端口上的多个请求)

  • 是的,您可以使用单个脚本来处理多个请求。但是,由于您想要响应AJAX请求,因此您需要一个Web服务器,而不仅仅是一个简单的脚本。

虽然您可以通过使用默认的http模块将Node.js转换为简单的HTTP服务器。但是对于一个真正的项目,你需要在服务器端更多。例如接受GET / POST请求,cookie,会话,响应类型(JSON,HTML ..),路由,重定向,身份验证等。

为此,已经有一些框架可以在Node.js之上运行,将其转换为完整的WebServer。然后,您可以使用他们的简单API定制它以满足您的需求。

我对一个这样的框架ExpressJS的经验到目前为止一直很好。易于学习和扩展。

  • 是的,您可以在请求中接收数据并使用HTML或JSON进行响应。通常,使用一个这样的http webserver框架,您将定义将在请求时调用的路由(例如'/ users /:id)。此时,Framework将为您提供请求和响应对象,以接收传入的数据并生成响应。
项目回购中的

Express Examples非常有助于探索。只需下载zip并浏览repo上的自述文件。

答案 1 :(得分:0)

取自Node.js main page

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

Voila,一个处理许多请求的脚本。其他一切只是正确解析,处理和序列化数据的问题。