当我发送对JSON数据的获取请求时,它返回响应对象,但不返回数据本身。
不知道为什么
我尝试添加标题,对数据进行字符串化
我的Express服务器
const productData = require('./storeProducts.json');
app.use(cors());
app.get('/products', (req, res) => {
res.json(JSON.stringify(productData));
});
app.listen(PORT, () => console.log(`Now listening on ${PORT}`));
我的提取请求
const fetchProducts = async () => {
const data = await fetch('http://localhost:3001/products');
console.log(data)
};
当我console.log接收到的数据而不是JSON对象时,即时通讯
响应{类型:“ cors”,网址:“ http://localhost:3001/products”,重定向:false,状态:200,确定:true,…} 身体: (...) bodyUsed:错误 标头:标头{} 好的:是的 重定向:false 状态:200 statusText:“确定” 类型:“ cors” 网址:“ http://localhost:3001/products” 原始:回复
任何帮助将不胜感激
答案 0 :(得分:0)
您需要执行以下操作:
const fetchProducts = async () => {
let data = [];
await fetch('http://localhost:3001/products')
.then(res => res.json())
.then(response => {data = response;})
console.log(data)
};
当您使用fetch时,它将返回一个对象,并且res.json()方法从该对象中提取JSON数据并返回一个Promise,该Promise可用于对结果执行操作。例如,将数据映射到表格上,制作图形,图表,验证等。
希望这能解决您的问题。