服务器未将 JSON 从 Express 返回到 React(代理)
Posted
技术标签:
【中文标题】服务器未将 JSON 从 Express 返回到 React(代理)【英文标题】:Server not returning JSON from Express to React (proxy) 【发布时间】:2017-11-28 06:03:05 【问题描述】:我正在尝试制作一个具有 React 前端(在端口 8080 上运行)和 Express-Node.js 后端(在端口 3000 上)的应用程序。我想让我的客户使用fetch
从我的服务器请求数据。到目前为止,我在网上看到的内容表明我需要在我的package.json
中添加一个proxy
条目,其值为http://localhost:3000
。我已经这样做了,我的服务器正确接收到请求,但它的响应不是我所期望的(一个 JSON 对象)。我做错了什么?
//Server
app.get('/search', function(req, res)
...
//console.log(section) <-- Is the correct value
res.json(section);
)
...
app.listen(3000)
//Client
handleTouchTap()
fetch('/search?crn=10001').then(function(response) //<-- Hard-coded for testing
return response; //<-- Does not contain the value of "section" from server
).then(function(data)
console.log(data); //<-- Likewise, does not contain the value
);
//From package.json
...
"proxy": "http://localhost:3000",
...
【问题讨论】:
【参考方案1】:您需要将json 拉出您的response:
fetch('/search?crn=10001')
.then(response => response.json())
.then(section => console.log(section));
【讨论】:
以上是关于服务器未将 JSON 从 Express 返回到 React(代理)的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 核心 POST 请求未将 JSON 数据转换为模型
在 Node.js/Express.js 中,如何将 JSON 对象从服务器传输到客户端?
列出服务器上的静态内容并使用 Express 将其作为 JSON 返回