【问题标题】:Load HTML or jade page into div of HTML or jade page [closed]将 HTML 或玉页面加载到 HTML 或玉页面的 div 中 [关闭]
【发布时间】:2015-02-05 20:33:10
【问题描述】:

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

【问题讨论】:

    标签: javascript html node.js express pug


    【解决方案1】:

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

    不要考虑服务器端目录结构,而要考虑路由映射。

    假设您的 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');
    });
    

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

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

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

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

    注意:路由也可以是参数化的且更复杂,但其下的逻辑始终与此处的示例相同。

    【讨论】:

    • 非常感谢。我终于明白了
    猜你喜欢
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    相关资源
    最近更新 更多