首页 > 解决方案 > 在不渲染页面的情况下使用 nodejs 更改 html 中的内容

问题描述

刚学nodejs。我想在我发布时更改我的 html 中的内容而不在页面中完全呈现。

这是我当前的代码。

app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.set('view engine', 'ejs')
var arr = [];

app.get('/', function (req, res) {
  res.render('index', {messages: null, error: null});
})

app.post('/user', function (req, res) {
        var input = req.body.userInput;
        var output = "";
        arr.push(input);
        for(var i = 0; i < arr.length;i++){
            (function(){
                console.log(arr[i]);
                output +=arr[i] + "</br>";
            })(i);
      }
      res.render('index', {messages: output, error: null});  
})


app.listen(port, function () {
  console.log('Example app listening on port 3000!')
})

谢谢。任何建议都非常感谢。

标签: htmlnode.jsexpress

解决方案


你不能用服务器端代码来做到这一点。

您可能必须编写客户端 JavaScript 来操作现有页面的 DOM。

该 JS 可以使用 Ajax 从服务器获取新数据。您可以编写客户端代码来提取您关心的部分,或者创建一个不同的服务器端端点,只返回您想要的数据位。


推荐阅读