在Server上使用ExpressJS,在客户端静态链接上使用JQuery

时间:2016-03-08 14:07:01

标签: javascript jquery node.js express

刚开始学习jQuery和node.js,它的效果非常好。但在这一点上,我发现一个问题无法通过反复谷歌来解决。这可能很简单,但无法找到......

所以这是:

我在ExpressJS / Node.JS中编写我的服务器,向服务器提供这样的网页:

router.get("/", function(req, res) {
 res.sendFile(path + "index.html");
});

在客户端,我使用jQuery请求页面

<li><a id="show-catchem" href="#page-content">CatchEm</a></li>

$("#show-catchem").click(
  function() {
    $("#content-page").load("html/catchem.html #page-content");
  }
);

这很好用,但我也喜欢做jQuery的东西,点击其他地方的链接,比如Facebook上的链接:

www.homepage.com/catchem

我可以用ExpressJS回答这个问题,但不知道如何将它插入到主页面的客户端。

希望我说清楚, 干杯:)

1 个答案:

答案 0 :(得分:0)

您可以向服务器发出请求,然后在服务器中检索HTML内容并通过jade等视图引擎将其传递给客户端。在Jade中,为了注入变量中的html内容,您必须使用!=运算符,而不是内容的scape。因为在下面的示例中我向您展示HTML内容是整个页面,我会将其注入页面的根目录,如果您想将内容放在其他位置,则需要将HTML内容与标记相关联(例如, :将内容附加到div代码div!= content

示例:

服务器

// send the HTML content to the client view through responseHTML variable
router.get('/catchem', function(req, res){
    request.get('http://www.google.com', function(err, response, body){
        res.render('catchem', {responseHtml: body});
    });
});

客户端(catchem.jade页面)

!= responseHtml