我有一个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 }));