我正在使用一个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;
我是否必须为侦听器功能创建一个类似的脚本到同一个文件夹?
答案 0 :(得分:2)
服务器 - 客户端通信,在WWW的上下文中,通过发出HTTP请求和接收HTTP响应来工作。 (至少除非您想使用Web套接字之类的东西)。
Ajax是指向"发出HTTP请求并使用客户端JavaScript"处理其响应的名称。您还可以使用纯HTML链接或表单提交来从网页与服务器进行通信。
路由只是服务器上使用的常见设计模式,用于检查客户端请求的URL并运行相应的代码来响应它。 Express使用它们。
如果您想使用Ajax,那么您需要在客户端上使用XMLHttpRequest(或JSONP或iframe hacks)的一些代码来向服务器发出HTTP请求。
然后你需要写一些代码来回应它。 render
是Express用于获取某些数据,对其进行格式化,然后将其作为响应发送回客户端的方法。 Express提供的其他方法可能有相同的用途,但您通常需要使用render
。