thắc mắc [Câu hỏi] Nextjs BE + FE

  • Người tạo chủ đề Người tạo chủ đề cldson
  • Ngày bắt đầu Ngày bắt đầu

cldson

Junior Member
Em đang dùng Nextjs cho 1 project cá nhân vì nó cần SEO, vừa học Nextjs rồi vừa làm luôn nên gặp vấn đề như sau: (hình ảnh chỉ là minh họa thắc mắc của em)

src/api/product/route.ts
hình 1. Tại đây em có 1 api để fetch product
1723987606074.png


hình 2. Đây đơn giản là component nơi call api đó.
1723987583365.png


  • Vấn đề xảy ra khi component đó hiển thị được data nhưng em có để 1 console.log thì thấy nó đang không call đến api? em có thử xóa file route.ts ở hình 1 nhưng nó vẫn chạy được -> vậy thì end point /api/product này được lấy từ đâu ra?
  • Có cách nào để call api mình đã chuẩn bị sẵn ở folder api không?

Em cảm ơn
 
Con dự án NextJs này có đang chạy ở port 3000 không? Nếu có thì URL kia sẽ là url mà bạn đang code trong /api
 
nói chung ông phải đảm bảo rằng endpoint được định tuyến chính xác và không có bất kỳ yếu tố nào khác can thiệp vào quá trình gọi API thì mới dc, chứ lý do thì cả đống , dữ liệu cache rồi mock data rồi SSR...
 
Con dự án NextJs này có đang chạy ở port 3000 không? Nếu có thì URL kia sẽ là url mà bạn đang code trong /api
hiện chỉ có 1 port 3000,

call api bằng postman thì console.log kia vẫn chạy ở terminal nhưng call bằng component thì lại không?
 
nói chung ông phải đảm bảo rằng endpoint được định tuyến chính xác và không có bất kỳ yếu tố nào khác can thiệp vào quá trình gọi API thì mới dc, chứ lý do thì cả đống , dữ liệu cache rồi mock data rồi SSR...
để em xem thêm có phải do mấy yếu tố trên không
 
Nếu bạn dùng Next phiên bản 13 hoặc 14 thì có thể do cache rồi.
Bạn thử thêm dòng export const revalidate = 0 ở file ProductSlider xem được không.
 
để em xem thêm có phải do mấy yếu tố trên không
Nếu bạn dùng Next phiên bản 13 hoặc 14 thì có thể do cache rồi.
Bạn thử thêm dòng export const revalidate = 0 ở file ProductSlider xem được không.
1724037381086.png

mình có set cứng data ở api xem thì đúng thật nó trả data được set ở api. Nhưng dòng console.log("Calling API") thì không được hiện.

call bằng postman hay web thì vẫn hiện. Vẫn là thắc mắc cũ @@
1724037584083.png


Vì thấy nó khá là vô lý
 
Cảm ơn mọi người. Tất cả vấn đề là do cache, xóa cache là được nha
 

Thống kê chủ đề

Ngày tạo
cldson,
Người trả lời cuối
cldson,
Trả lời
12
Lượt xem
1.524
Quay lại
Lên đầu trang