我是一个PHP / Javascript人,但我对ExpressJS(Node模块)很新。我只是好奇https://www.learnboost.com/或new.myspace.com如何通过ajax进行他们的页面。
ajax响应是json,包含html,css,脚本和其他内容。
是否有节点模块可用?我在谷歌搜索了很多,但不知道我是否正确地搜索了这些东西。
答案 0 :(得分:0)
这与您用于构建后端堆栈的内容无关(好吧,几乎没有)。后端的唯一要求是它提供正确的HTML。然后,您的前端JavaScript必须管理响应(以您想要的任何方式)将其添加到或替换当前页面。
在Express中,您有多种方法可以做到这一点。你可以简单地使用res.render来渲染你的Jade模板并提供它,或者让它变得更复杂(镜像我在你的截图中看到的),并使用app.render和回调来将HTML添加到您发回的响应对象。
关于在返回对象中包含css / js的注释,您也可以通过多种方式执行此操作。 CMS-y的方式,你记录每个页面需要哪些CSS页面和脚本,并在每个请求上查找这些要求,并使用url的url位置填充返回对象中的css和js数组。所需资源。第二个选项是解析从app.render函数返回的HTML,并向对象数组添加任何css /脚本引用。在任何一种方法中,您的前端JavaScript都必须处理这些资源的加载。
您可能希望更多地了解PJAX,它可以作为这种类型的load-new-page-without-full-reload页面的基础。