服务器端脚本是否需要在“路由”中定义?

我正在使用一个NodeJS Express应用程序,据我所知,服务器 – 客户端通信通过将AJAX脚本放入一个Javascript文件(这是客户端)并放置一个监听器函数( function(req, res){}基本上)到另一个。 (这是服务器端)

告诉我,如果这是错的。 否则,我有一个关于它的问题:在客户端有一个Jade文件与上述AJAX脚本附加script include 。 为了使这个网站在一个非常基础的层面上工作,我在/ routes文件夹中创build了下一个脚本(并且必须在app.js中定义一些variables)

 var express = require('express'); var router = express.Router(); router.get('/', function(req, res, next) { res.render('name-of-the-Jade-file', { title: 'Site title' }); }); module.exports = router; 

我是否也必须为侦听器function制作相同的文件夹?

在WWW的上下文中,服务器 – 客户机通信通过发出HTTP请求并接收HTTP响应来工作。 (至less除非你想使用像Web套接字的东西)。

Ajax是“使用客户端JavaScript创buildHTTP请求并处理其响应”的名称。 您也可以使用纯HTML链接或表单提交来从网页与服务器进行通信。

在服务器上,路由只是一种常用的devise模式,用于检查客户端请求的URL并运行适当的代码来响应。 Express使用它们。


如果你想使用Ajax,那么你需要在客户端上使用XMLHttpRequest(或者JSONP或者iframe hack)向服务器发送HTTP请求的代码。

那么你需要编写一些代码来响应它。 render是Express用来获取一些数据,格式化,然后发回给客户端的方法。 Express提供的其他方法可用于相同的目的,但通常需要使用render