如何将 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 页面?的主要内容,如果未能解决你的问题,请参考以下文章

nodejs问题将graphql上传文件发送到服务

如何使用 json 序列化将带有其他变量的对象发送回客户端?

如何将 JSON 对象从 Python 脚本发送到 jQuery?

如何将 JSON 对象从 React Native 发送到 Laravel 服务器?

不将数据发送到下一个活动,而是发送到之后的活动(使用 parcelable)

如何将复杂(嵌套)对象解析为 JSON 并在 Flutter 中使用 HTTP 将其发送到服务器?