Nodejs post 后返回的内容不会刷新浏览器呢?

Nodejs post 后返回的内容不会刷新浏览器呢?
我 post 到 /demo, nodejs 出来完这个 post 然后 render /demo 返回给浏览器,可是浏览器没有刷新内容呢?我抓包看, post 的 response 是正确的。 像这种情况, post 后改变一些数据,如何刷新本页?

1 回复

在Node.js中,当你使用POST请求时,通常不会直接刷新浏览器页面,这是因为HTTP请求和响应通常是异步进行的,尤其是在前端JavaScript和Node.js后端交互时。如果你希望在POST请求成功后刷新页面,你需要在前端JavaScript代码中显式地触发这一行为。

以下是一个简单的例子,展示如何在Node.js后端处理POST请求,并在前端使用Fetch API发送请求后刷新页面:

Node.js后端(使用Express框架)

const express = require('express');
const app = express();
const port = 3000;

app.use(express.json());

app.post('/submit', (req, res) => {
    // 处理POST数据
    console.log(req.body);
    res.json({ message: 'Success' });
});

app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}`);
});

前端JavaScript

async function submitForm() {
    const data = { key: 'value' }; // 示例数据
    const response = await fetch('/submit', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(data)
    });

    const result = await response.json();
    if (result.message === 'Success') {
        window.location.reload(); // 刷新页面
    }
}

// 假设这个函数在某个事件(如按钮点击)时被调用
submitForm();

通过这种方式,你可以在POST请求成功后刷新浏览器页面。

回到顶部