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

时间:2016-02-04 15:42:09

标签: javascript ajax node.js express

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

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

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;

我是否必须为侦听器功能创建一个类似的脚本到同一个文件夹?

1 个答案:

答案 0 :(得分:2)

服务器 - 客户端通信,在WWW的上下文中,通过发出HTTP请求和接收HTTP响应来工作。 (至少除非您想使用Web套接字之类的东西)。

Ajax是指向"发出HTTP请求并使用客户端JavaScript"处理其响应的名称。您还可以使用纯HTML链接或表单提交来从网页与服务器进行通信。

路由只是服务器上使用的常见设计模式,用于检查客户端请求的URL并运行相应的代码来响应它。 Express使用它们。

如果您想使用Ajax,那么您需要在客户端上使用XMLHttpRequest(或JSONP或iframe hacks)的一些代码来向服务器发出HTTP请求。

然后你需要写一些代码来回应它。 render是Express用于获取某些数据,对其进行格式化,然后将其作为响应发送回客户端的方法。 Express提供的其他方法可能有相同的用途,但您通常需要使用render