如何将 JSON 对象从快递服务器发送到下一个 js 页面?
Posted
技术标签:
【中文标题】如何将 JSON 对象从快递服务器发送到下一个 js 页面?【英文标题】:How to send JSON object from express server to next js page? 【发布时间】:2020-01-01 14:29:37 【问题描述】:我是下一个 js 的新手,并表示我正在尝试将发布数据从服务器发送到客户端,在本例中是我的 Web 浏览器。 我能够在服务器上接收数据,现在我想将此数据发送到相应的页面。 以下是我的 server.js 文件的代码:-
const express = require('express')
const next = require('next')
const port = parseInt(process.env.PORT, 10) || 3000
const dev = process.env.NODE_ENV !== 'production'
const app = next( dev )
const handle = app.getRequestHandler()
app.prepare().then(() =>
const server = express()
server.use(express.json());
server.post("/posts", (req, res) =>
req.body.data
res.send(req.body.data);
console.log("Post data : ",req.body.data)
);
server.get('*', (req, res) =>
return handle(req, res)
)
server.listen(port, err =>
if (err) throw err
console.log(`> Ready on http://localhost:$port`)
)
)
现在我想将 req.body.data 发送到帖子页面。我们如何使用 nextjs 做到这一点? 任何帮助或建议表示赞赏。谢谢。
【问题讨论】:
【参考方案1】:响应的json方法可以直接发送json。
res.json(req.body.data);
【讨论】:
非常感谢@Vishnudev。【参考方案2】:在您的 Express 应用程序中创建一个端点,通过 res.json()
将数据返回给客户端
然后通过向它发出 Ajax 请求,从您的 React 应用程序(可能在 getInitialProps 方法中)访问它。
【讨论】:
非常感谢@Quentin。 就像我们可以在 get 中返回一样,我们也可以在 post 中返回。我正在尝试执行以下操作:- server.post("/posts", (req, res) => req.body.data res.send(req.body.data); console.log("Post data : ",req.body.data) res.json(); return app.render(req, res, '/posts', id: "Anup" ) );这行得通吗? @anup — 不。您正尝试对 same 请求作出 3 次响应。你应该照我说的做。 @Quentin 如果数据被ajax调用,它仍然是s-s-r吗? google tracker 可以跟踪使用 ajax 为 SEO 呈现的数据吗?感谢您的解决方案以上是关于如何将 JSON 对象从快递服务器发送到下一个 js 页面?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 json 序列化将带有其他变量的对象发送回客户端?
如何将 JSON 对象从 Python 脚本发送到 jQuery?
如何将 JSON 对象从 React Native 发送到 Laravel 服务器?