0

我是一个 PHP/Javascript 人,但我对 ExpressJS(节点模块)很陌生。我只是好奇https://www.learnboost.com/或 new.myspace.com 如何通过 ajax 来做他们的页面。

在此处输入图像描述

ajax 响应是 json,由 html、css、脚本和其他内容组成。

是否有可用的节点模块?我在谷歌上搜索了很多,但不知道我是否对这些东西进行了正确的关键字搜索。

4

1 回答 1

0

这与您用来构建后端堆栈的方式无关(嗯,几乎没有)。后端的唯一要求是它提供正确的 HTML。然后,您的前端 javascript 必须管理响应(以您想要的任何方式)以将其添加到或替换当前页面。

在 Express 中,您有多种方法可以做到这一点。您可以简单地使用res.render来呈现您的 Jade 模板并提供它,或者变得更复杂一些(以反映我在您的屏幕截图中看到的内容),并使用带有回调的app.render将 HTML 添加到响应对象中你寄回去。

至于您对在返回对象中包含 css/js 的评论,您也可以通过多种方式来做到这一点。CMS-y 方式,您可以记录每个页面需要哪些 css 页面和脚本,并在每个请求中查找这些要求,并使用返回对象中的 url 位置填充 css 和 js 数组所需资源。第二种选择是通过从app.render函数返回的 HTML 进行解析,并将任何 css/脚本引用添加到您的对象数组。在任何一种方法中,您的前端 javascript 都必须处理这些资源的加载。

您可能想进一步了解 PJAX,它可以作为这种类型的 load-new-page-without-full-reload 页面的基础。

于 2013-06-04T16:39:12.377 回答