jQuery附加新数据

时间:2014-09-11 14:42:08

标签: javascript node.js express pug

我使用Node.js,Express.js和MongoDB进行一些练习。

目前我在尝试推送使用 jQuery.Ajax 创建的新内容时出现问题。

我在Jv主页上有一个帖子列表:(现在我会写一些简单的东西,但我的html元素更多......)

ul
  each post in posts
    li
      h1 title
      p post

使用普通表单和回发即可,因为页面已刷新。

Bue使用jQuery和Ajax成功我应该添加新帖子而不刷新页面... 有一个Jade的解决方案没有在jQuery中编写整个html吗?

你能建议一个更好的方法吗?

1 个答案:

答案 0 :(得分:1)

Jade编译为HTML,所以不,没有办法在你的jQuery中使用jade模板。但是,您可以做的是在jade中编写代码片段,编译它们,并将它们保存到您的Web服务器(例如post_template.html),然后使用jquery加载文件,从加载的文本创建jQuery元素,然后更改属性和新元素中元素的内容。然后将元素追加到页面。

这种方法可以避免在jQuery中编写html。

//Wrap this in the code that gets updates
$.get( "templates/post.html", function( data ) {
  var el = $(data);

  //If you want to change specific properties
  var title = el.children('h1');
  title.text('My new text');

  el.appendTo('ul#postList');
});

如果您想在单击时执行此操作,例如,只需将该函数包装在单击处理程序中,以用于要用于触发新项目的页面上的某个元素。