【问题标题】:using node js to dynamically change content from database when page reloads页面重新加载时使用节点 js 动态更改数据库中的内容
【发布时间】:2019-11-11 13:52:27
【问题描述】:

我需要 node.js 来动态更改页面刷新时从数据库中获取的网站内容。

所以,我想要的是当网页刷新时,用户上传到数据库的图像显示在网页上。

每当用户将图片上传到数据库时,它的地址就会添加到数据库中,并且图片也会上传到服务器上,但是在我重新启动 node.js 服务器之前,图片不会在网页上正确显示。

只有数据库行在页面重新加载时得到更新。

下面是代码:

app.get('/',(req,res)=>{
    connection.query("SELECT * FROM images",(error,rows,fields)=>{
        if(!!error){
            console.log("query not successfull");
        }
        else{
            console.log("connected to images table");
            for(var i=rows.length-1;i>=0;i--){
                adddress.push(rows[i].image);

                imageRows=rows.length;



            }

            res.render('index',{
                address:adddress,

                imageRowsSize:imageRows,

                linebreaker:'<br>'  
            });


        }
    });

});


【问题讨论】:

    标签: javascript node.js dynamic ejs


    【解决方案1】:

    如果我理解正确,您的客户端不会请求页面刷新/重新加载,然后调用您的 nodejs api 以获取该事件吗?例如,在 Angular 中有一个 reload 选项,用于当导航事件(在同一 url 上刷新)发生时,您可以为数据执行 fetch()

    类似这样的东西(角度文章):https://blog.angularindepth.com/refresh-current-route-in-angular-512a19d58f6e

    或者让 ajax 在成功时为您重新加载怎么样?示例:jQuery Refresh/Reload Page if Ajax Success after time

    关于用户何时刷新页面,请查看此答案:Ajax call when click on Browser refresh Button

    【讨论】:

    • 我实际上没有使用任何前端框架。我使用 ejs 作为我的模板。你能链接我如何在不使用任何其他前端框架的情况下发出客户端请求吗?
    • @dark_3nergy,我编辑了我的答案,看看它是否有帮助
    【解决方案2】:

    只需使用重新加载页面

    res.redirect('/');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 2012-08-03
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      相关资源
      最近更新 更多