【问题标题】:Express and Jade Ajax PageExpress 和 Jade Ajax 页面
【发布时间】:2013-06-05 00:39:12
【问题描述】:

我是一名 PHP/Javascript 专家,但我对 ExpressJS(Node 模块)非常陌生。我只是好奇https://www.learnboost.com/ 或 new.myspace.com 是如何通过 ajax 制作他们的页面的。

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

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

【问题讨论】:

  • AJAX 的服务类似于 express 中的普通 HTTP 请求。你能说出你想要实现什么吗?
  • 我只想实现与 learnboost 对其分页所做的相同。我好奇的是包含 css 和 javascript 的 json 响应,这意味着 js 和 css 应用于其特定页面。

标签: node.js express pug


【解决方案1】:

这与您用来构建后端堆栈的方式无关(嗯,几乎没有)。后端的唯一要求是它提供正确的 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 页面的基础。

【讨论】:

    猜你喜欢
    • 2012-07-27
    • 2015-05-09
    • 2011-07-09
    • 2015-03-14
    • 2014-10-10
    • 2011-09-19
    • 2012-08-07
    • 2013-10-27
    • 2012-07-20
    相关资源
    最近更新 更多