데이터 전달이 안되서 질문드립니다
245
0
안녕하세요 제로초님
복습하다 안되는 부분이 있어 질문드립니다
현재 해시태그를 클릭하면 클릭한 해시태그만 타임라인에 나오는 부분을 구현중에 있습니다.
그런데 화면상에 아무 글도 뜨지 않아 질문드려요
서버상에서는 200 제대로 뜹니다. 데브툴에도 loadPost 찍히구요. 근데 백엔드에서 비어있는 Array를 내려주는거 같아서 콘솔로 Store/posts.js 내부의
f(payload && payload.reset) {
console.log('reset', payload.hashtag)
const res = await this.$axios.get(`/hashtag/${payload.hashtag}?limit=10`)
console.log(res)
commit('loadPosts', {
data: res.data,
reset: true,
})
return;
}
loadHashtagPosts안을 이렇게 확인해보니 아예 비어있는 값이 뜹니다.

그래서 백엔드의 hashtag.js를 제로초님 코딩과도 비교해보고, 왜 프론트로 데이터가 전송이 안되는지 계속 찾아보고 생각해봤는데 답이 안나와서 질문드려요
어떤 이유때문에 이런일이 벌어질수있는건가요?ㅜㅜ
routes/hashtag.js
router.get('/:tag', async (req, res, next) => {
try {
let where = {};
if (parseInt(req.query.lastId, 10)) {
where = {
id: {
[db.Sequelize.Op.lt]: parseInt(req.query.lastId, 10)
}
}
}
const posts = await db.Post.findAll({
where,
include: [{
model: db.Hashtag,
where: { name: decodeURIComponent(req.params.tag) }
}, {
model: db.User,
attributes: ['id', 'nickname']
}, {
model: db.Image
}, {
model: db.User,
as: "Likers",
attributes: ['id']
}, {
model: db.Post,
as: 'Retweet',
include: [{
model: db.User,
attributes: ['id', 'nickname']
}, {
model: db.Image
}]
}],
order: [['createdAt', 'DESC']],
limit: parseInt(req.query.limit, 10) || 10,
})
return res.json(posts)
} catch(err) {
console.error(err)
next(err)
}
})
Store/posts.js
loadHashPosts: throttle(async function ({commit, state}, payload) {
try {
if(payload && payload.reset) {
console.log('reset', payload.hashtag)
const res = await this.$axios.get(`/hashtag/${payload.hashtag}?limit=10`)
console.log(res)
commit('loadPosts', {
data: res.data,
reset: true,
})
return;
}
if(state.hasMorePost) {
const lastPost = state.mainPosts[state.mainPosts.length - 1]
const res = await this.$axios.get(`/hashtag/${payload.hashtag}?lastId=${lastPost && lastPost.id}&limit=10`)
commit('loadPosts', {
data: res.data
})
return;
}
} catch (err) {
console.error(err)
}
}, 3000),
참고 하실 코드 업로드해드립니다
참고로 hashtag/_id/index.vue에 팻치도
fetch({ store, params }) {
return store.dispatch('posts/loadHashPosts', {
hashtag: encodeURIComponent(params.id),
reset: true,
})
},
연결하였고
app.js 에 router도 연결해놨습니다
계속 확인중에 있는데
GET /posts?limit=10 304 14.900 ms - - 이러한 에러? 가 터미널에 뜨는데 무슨 문제인지 모르겠습니다ㅜ
답변 1
0
304는 200이랑 같습니다. 캐슁된 데이터를 그대로 쓰겠다는 겁니다.
/hashtag/23 요청을 보내셨는데 해시태그 23으로 검색하신 게 맞나요? 실제 디비에 해시태그 23이 들어있나요?
0
문종현
워크벤치 들어갔는데 23 포함하여 다른 해시태그붙여서 글쓴것도 없네요....
이게 무슨문제이죠??
db에 Hashtag라는 테이블도 있는데 도대체 왜 db에 23이 안들어가는지 알수있을까요??ㅜㅜ
백앤드 라우터의 hashtag.js 문제인가요??ㅜ
db post에 게시물로는 다들어가는데 db hashtag에는 들어가지가 않네요 ㅜㅜ
0
해시태그 저장단에서부터 문제가 있던 겁니다. 게시글 등록 라우터를 봐보세요.
0
문종현
아 !! 감사합니다!!
거기서 오타가 났었네요!!!계속 혼자 고민하다 이제야 해결하네요.. 혹시 어떻게 그쪽에 문제가 있을거라고 아셨는지 여쭤봐도 되나요??
0
DB 검색했을 때 안 나왔으면 경우는 두 가지입니다. 검색하는 게 잘못되었거나, 검색할 게 아예 없었거나요. 이번 건 후자였던 겁니다.
0
문종현
아~~ 그렇군요!! 감사합니다^^ 정말 큰 도움됬습니다~~~!!!!
npm run dev 할 때 에러가 발생합니다.
해당 강의는 리뉴얼 예정은 따로 없나요?
강의는 언제까지 업데이트 된 내용인가요?
실습 환경 문의(Node 버전)
로그인 새로고침시 풀림
안녕하세요! 로그인 유지 질문 드립니다!
웹 서버 관련해서 질문드립니다.
버전때매 질문 드립니다!!
이 강의는 vue3는 아닌가요??
vsCode에 관한 질문입니다
v.trim()이 타입에러가 뜹니다...
express.static('uploads')
STRING이 인식이 안되는데 이유알수있을까요?
<v-lsit-item-title> 에러
vue cli 를 실무에서도 사용하지 않으시나요?
선생님 처음 환경 셋팅 관련 문의드립니다.
nuxtServerInit 무한 로딩
Nginx Cookie 설정
상태가 204번인경우에는 어떻게 처리를 해야하나요?
선생님 nuxt 관련질문드립니다.
인덱스 비교로 삭제해도 될까요?
질문 드립니다!
안녕하세요
궁금한점이있습니다