如何在React应用程序中从另一个制作POST localhost的应用程序中侦听或获取json



我有一个C#应用程序,它用json对http://localhost:9090/myend

{
"eqid": "123",
"cnid": "123",
"report":{
"somevalue": "123",
"anothervalue": "123
}

我有在端口3001 上运行的react应用程序

我有快递在9090 端口运行

const express = require("express")
const bodyParser = require("body-parser")
const app = express()
const PORT = 9090
app.use(bodyParser.json())
app.listen(PORT, () => console.log(`Server running on port ${PORT}`))
app.post("/myend", (req, res) => {
console.log(JSON.stringify(req.body, null, 4))
res.status(200).end() // Responding is important
})

我可以在express的控制台中看到这篇帖子,但我如何在react应用程序中获得json?我甚至需要快递吗?

res.end([data][,encoding](
结束响应过程。这个方法实际上来自Node核心,特别是http的response.end((方法。服务器响应
用于在没有任何数据的情况下快速结束响应。如果您需要使用数据进行响应,请使用res.send((和res.json((.等方法

使用res.send

  • 发送HTTP响应
  • body参数可以是Buffer对象、String、对象、Boolean或Array
const express = require("express")
const bodyParser = require("body-parser")
const app = express()
const PORT = 9090
app.use(bodyParser.json())
app.listen(PORT, () => console.log(`Server running on port ${PORT}`))
app.post("/elsdcp", (req, res) => {
console.log(JSON.stringify(req.body, null, 4))
res.status(200).send(req.body)
})

您也可以使用res.json.


在react应用中

使用fetch或axios

例如

// fetch
const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ title: 'React POST Request Example' })
}; 
fetch('https://stackoverflow.example.com/fetch/post', requestOptions)
.then(response => this.setState({ articleId: response.data.id }));
// axios
const article = { title: 'React POST Request Example' };
axios.post('https://stackoverflow.example.com/fetch/post', article)
.then(response => this.setState({ articleId: response.data.id }));

相关内容

  • 没有找到相关文章