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

时间:2014-12-08 08:02:26

标签: javascript html node.js express pug

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

1 个答案:

答案 0 :(得分:0)

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

不要考虑服务器端目录结构,而应考虑路由地图。

假设您在nodejs网络应用上有以下目录结构:

+ 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');
});

如您所见,此示例中的路由说:

  • 如果网络浏览器要求page100提供索引页
  • 如果要求page200提供page1
  • 如果要求page300提供page2

在你的情况下,假设你想加载dinamically page2,你必须将正确的路由传递给jQuery:

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

注意:路由也可以是参数化的,而且更复杂,但它下面的逻辑总是与此示例相同。