javascript - 服务器端脚本是否需要在 "routes"中定义?

标签 javascript ajax node.js express

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

如果错了请告诉我。否则,我有一个关于它的问题:在客户端有一个 Jade 文件,其中包含上述 AJAX 脚本,并附有 script include。为了让这个网站在非常基础的层面上工作,我在 /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;

我是否也必须为监听器功能制作一个类似的脚本到同一个文件夹?

最佳答案

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

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

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


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

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

关于javascript - 服务器端脚本是否需要在 "routes"中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35205298/

相关文章:

javascript - ajax - jsp总是出现错误

javascript - 选择元素的change()不起作用

javascript - 使用 ui 参数值动态 ng-repeat

javascript - 正则表达式和 javascript : match everything between number followed by space and by capital letter

使用 Ajax 的 Javascript POST 到 Django 不起作用

node.js - 带有 Sequelize 多对多的额外列

javascript - 在 Node 服务器中使用 JQuery - TypeScript

javascript - Coffescript/Javascript typeof 的区别

javascript - 如何检测浏览器地址栏是否显示在 iOS 设备上?

javascript - 运行 AJAX 代码时,行总和不会更新,直到 F5 刷新