后端fs.writeFile返回前端触发前端页面自动刷新?

很奇怪的问题,我后端写了引用了 fs.writeFile 方法写入文件,当创建完成后告诉前端“创建完成”,前端接收到之后总会自动刷新页面

const fs = require('fs')
const http = require('http')
const express = require('express')
const app = express()

app.all('*', (req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*')
  res.header('Access-Control-Allow-Headers', 'content-type')
  res.header('Access-Control-Allow-Methods', 'DELETE,PUT,POST,GET,OPTIONS')
  if (req.method.toLowerCase() == 'options')
    res.sendStatus(200)
  else
    next()
})

app.get('/luck-draw', (req, res) => {
  fs.writeFile('./获奖名单/' + req.query.name + '.txt', req.query.list.toString(), err => {
    if (err) {
      return console.error(err)
    }
    res.send('创建成功')
  })
})

http.createServer(app).listen(3001, '0.0.0.0', () => {
  console.log('Http 3001 Server Open')
})

以上是我的后端代码,其中仅有一个写入文件的方法,且 ./获奖名单/ 这个目录是创建好的
前端使用 jquery 请求获取

$.get('http://localhost:3001/luck-draw', {
  name: prizeData[prizeNumber].name,
  list: res
}, (response, status) => {
  if (response === '创建成功') {
    console.log(response)
  }
})

但此时前端页面总会自动刷新,实在没有排查出原因
请求更换 axios 后问题依旧,所以排除是 jquery 的问题
还望指点,谢谢!

阅读 2.1k
1 个回答

找到问题了,貌似是 vscode 中 Live Server 的问题,换了直接浏览 .html 文件就没问题了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题