将HTML或jade页面加载到HTML或jade页面的div

问题描述:

在我的Node.js项目中,我有一个脚本(JS),它使用$("#div").load(directory)将Jade页面加载到另一个Jade页面的div中。我指定了我想加载的玉页的目录,但它只说CANT GET /page1.jade。我需要添加一些东西给我的app.js?或者,也许我的目录是错误的(我试过每种可能的组合)? (我也尝试了所有页面,而不是Jade,而且它也没有工作。)将HTML或jade页面加载到HTML或jade页面的div

您必须将作为“目录”的路由传递到该页面。

不要去想服务器端的目录结构,而是想想路由图。

说你有你的NodeJS web应用程序的目录结构如下:

+ views 
    |- index.jade 
    |- page1.jade 
    |- page2.jade 

现在说你有这个路线图 - 我要在这里使用一个Express状结构

app.get('/page100', function(req, res){ 
    res.render('index'); 
}); 

app.get('/page200', function(req, res){ 
    res.render('page1'); 
}); 

app.get('/page300', function(req, res){ 
    res.render('page2'); 
}); 

正如您在此示例中看到的路由所示:

  • 如果Web浏览器要求提供page100服务索引页,
  • 如果询问page200服务page1
  • 如果询问page300服务page2

在你的情况,说你要加载dinamically page2,你必须给右路传递给jQuery的:

$('#div').load('/page300'); 

注意:路由可以同时参数和更复杂的,但逻辑下它的总是和这个例子一样。

+0

非常感谢。我非常了解这个 – 3243asd 2014-12-08 09:38:47