如何在数据库添加调用后重新呈现页面而不刷新?

时间:2013-06-24 19:11:02

标签: javascript jquery node.js ejs

您好我正在使用一个输入一些数据的表单,当我按下提交时,一个Ajax Post请求进入服务器,然后将数据保存在数据库中,然后当我按下刷新时,数据仅在ejs页面上更新。 我想知道有没有什么方法可以通过Jquery或JavaScript进行任何调用,在AJAX POST成功后重新呈现ejs页面和页面再次功能而不刷新?

我尝试使用以下代码重新加载页面的功能;它工作,重新加载数据但数据不可访问或其值在我刷新

之前不可用

我使用的代码

             $('body').load('views/test.ejs', function () {
              $(this).fadeIn(5000);
           });

我的渲染功能看起来像这样;

         function renderList(res, list) {
            res.render('admin', {
                jsonList: list, // JSON of data generated from DB
                listId:   req.session.user.listID, //global session
                access: req.session.user.Access, //global session
                products:   req.session.user.Products, //global session
                user:       req.session.user.FirstName || req.session.LastName 
            });
        }

我有一个tabbable的bootstrap菜单,我在其中传递数据库中的数据ID,并使用这些tabbable菜单显示该项目的相应数据。因此,当我使用Load函数时,我没有获取ID。只有location.reload()对我有用,但这不是一个好方法。

1 个答案:

答案 0 :(得分:0)

jQuery .ajax().post()具有成功的回调函数,您可以使用它们来更新包含新数据的页面。尝试查看this answer of mine示例。