node.js - 动态刷新 div,无需直接 DOM 操作

标签 node.js express

我必须更新例如表格、列表(如果有某些值)。我可以插入新值并尝试重新加载整个页面以再次显示表格或列表值。

如果我尝试 Ajax 更新,我必须操作 DOM,创建一堆新标签,在旧标签上连接并注入(inject)新 HTML。这不是一个痛苦的方法,您甚至必须重新输入之前创建的代码才能显示新条目。

例如:这是一个虚构的例子,说明了我的意思:

$.ajax({
    url: '/post/addComment/',
    type: 'POST',
    data: 'comment=' + comment,
    beforeSend : function() {
        //waiting message
        $('#some_information_div').html('<strong>Updating...</strong>');
    }
}).done(function(data) {
        //new data comes here (by JSON, plain text, whatever...)
        if (data.status == 'OK') {
            //OHHH MAN WE HAVE TO POPULATE MANUALLY IT AGAIN
            var c = '';
            c = '<table>'

            data.content.forEach(function(e) {
                c += '<tr><td>' + e.name + '</td></tr>';
            });

            c += '</table>'

            //update with new values
            $('#some_information_div').html('');
            $('#destination_table').html(c);
        }
});

不幸的是,我必须一直处理我的列表和表格,而且我必须重新输入代码并通过 JavaScript 对其进行操作。我发现有些东西可能有用,比如 jQuery.load() ,也许能符合我想要的,我没有尝试过。

其他一些语言和框架(例如 JSF)可以通过“渲染技术”轻松做到这一点,您可以直接更新内容,而无需手动创建和操作 DOM。

拜托,任何类型的建议,任何关于这种方法的线索都会非常有帮助。

P.S.:代码示例标签在这里不能很好地工作。

最佳答案

这可以通过使用 .load() jquery 函数来完成。我已经说明了一些页面 1.php 和一些具有 id mytable 的表

$('table#mytable').load('./1.php #mytable');

持续刷新--

setInterval(function() {
$('tablev#mytable').load('./1.php #mytable');
}, 5000);

关于node.js - 动态刷新 div,无需直接 DOM 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16963598/

相关文章:

node.js - node-mongodb-native:如何通过我的应用程序共享连接回调的 db api 对象

json - 查询Mongodb子文档错误将循环结构转换为JSON

javascript - 将 HTML 字符串发送到服务器,然后我可以使用 DOM 与其交互吗?可以在上面使用 jQuery 吗?

javascript - 将 JavaScript 类导入另一个类时出现意外标识符 {classname}

node.js - 快速验证器 : How parameters passed to validator functions

javascript - TypeError : Router. use() 需要中间件函数但得到一个对象

node.js - 发布请求不接收数据-express js 和 mongo

node.js - Mongodb 强制插入为数组

javascript - 如何强制重定向到 Stripe Checkout 中 success_url 之外的另一个页面?

javascript - 如何根据node.js中的当前时间戳生成带有年份的动态季度数字?