-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
백엔드에서 데이터 가져오기 질문드립니다.
21.01.29 11:30 작성 조회수 538
0
상세데이터를 가져오기 위해 백엔드를 아래와같이 작성하고
app.get('/api/product/products_by_id', (req, res) => {
//let type = req.query.type
let productId = req.query._id
Product.find({ _id: productId })
.exec((err, product) => {
if(err) return res.status(400).send(err)
return res.status(200).send({success:true, product})
})
})
디테일 페이지는 이렇게 썼는데요.
import React, {useEffect, useState} from 'react';
import axios from 'axios';
function DetailProductPage(props) {
const productId = props.match.params.productId
const [Product, setProduct] = useState([]);
useEffect(() => {
axios.get(`/api/product/products_by_id?id=${productId}&type=single`)
.then(response => {
if(response.data.success){
console.log(response.data)
//setProduct(response.data.proudct[0])
} else {
alert('상세 정보 가져오기 실패했습니다.')
}
})
}, [])
콘솔을 확인해보니
productId도 잘 받아오고
response.data도 success:true는 뜹니다.
하지만 product는 Array(0)으로 나오면서 데이터를 불러오질 못하네요.
서버연결은 되는데 데이터를 못불러오는데 이럴 경우 어디를 수정해야할까요?
답변을 작성해보세요.
2
John Ahn
지식공유자2021.01.30
안녕하세요 ethian 님
return res.status(200).send({success:true, product})
여기서 send를 json으로 바꿔주세요 ~!! 수고하세요 ~!
답변 1