重定向到相同的修改页面后,如何强制重新加载整个页面?

时间:2018-08-24 11:27:51

标签: express redirect reload server-side

我对Express有一个问题(我正在使用Cloud Firestore),并且没有找到任何解决方案(即使these posts讨论我的问题)

在简单的route下 (一切都是server-side):

// This route is accessible from www.site.com/123/options
router.post('/add', async (req, res, next) => {

  ...

  // 'add' modifies a document in DB and works.

  add(id, stuffToAdd)

  // Afterwards, I want to redirect to www.site.com/123/options/
  // But I need to `CTRL+R` to see new data one the page

  res.header(
    'Cache-Control',
    'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0'
  )
  res.redirect(`back`)
})

我尝试了很多事情:

  • 301302304307状态添加到res.redirect(无成功)
  • 在URL的末尾添加一个?v=something以绕过cache(没有成功)
  • 像上面那样修改headers(没有成功)...

您有什么线索吗?谢谢

1 个答案:

答案 0 :(得分:0)

不能只是强制在客户端重新加载吗?

jQuery ajax http://api.jquery.com/jquery.ajax/

$.ajax({
    url: "/add",
    type: "POST"
}).done( () => {
    location.reload();
})

或ES6函数获取 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

fetch('/test', {
    method: "POST"
 })
.then(response => (
    location.reload()
));