【发布时间】:2019-02-18 23:18:39
【问题描述】:
谁能帮助我了解如何将数据从发布请求传递到加载的 nuxt 页面。我不知道如何将数据发送到将要加载的页面。
我希望能够处理 POST 请求,然后在下一页发送该数据以供使用。我愿意接受建议,但我找不到合适的文档、教程或示例来完成这项任务。
我不想在这里使用 axios(带有 JSON 类型的响应),因为我更愿意发送 POST 数据并加载新页面。因此,如果页面被重新加载,必须重新提交 POST 数据。
const express = require('express')
const bodyParser = require('body-parser')
const { Nuxt, Builder } = require('nuxt')
const app = express()
const host = process.env.HOST || '127.0.0.1'
const port = process.env.PORT || 3000
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.set('port', port)
// Import and Set Nuxt.js options
let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')
async function start() {
// Init Nuxt.js
const nuxt = new Nuxt(config)
// Build only in dev mode
if (config.dev) {
const builder = new Builder(nuxt)
await builder.build()
}
// Routes added
app.post('/events/booking', function (req, res, next) {
console.log('REQUEST:', req.body)
res.set('eventId', req.body.eventId)
res.set('moreData', ['some', 'more', 'data'])
next()
})
// Give nuxt middleware to express
app.use(nuxt.render)
// Listen the server
app.listen(port, host)
console.log('Server listening on http://' + host + ':' + port) // eslint-disable-line no-console
}
start()
【问题讨论】: