Yêu cầu May 30th, 2021 7:15 a.m. 97 0 2
  • 97 0 2
+2

Hỏi về Fetch data JS

Chia sẻ
  • 97 0 2

em có một thắc mắc là: + em viết APT hiện ra danh sách sản phẩm. + em vào template call API rồi fetch ra đc list danh sách r. + bây giờ em muốn ấn vào một sản phẩm -> nhảy sang 1 view khác rồi hiện ra chi tiết sản phẩm đấy Vấn đề em đang gặp là + em click vào 1 sản phẩm. em phải gửi id sản phẩm vd "http://192.168.1.83:8000/api/v1/book/?id_book=12" rồi phải redirect đến template detail-product nữa. em ko biết làm như nào?

2 CÂU TRẢ LỜI


Đã trả lời May 30th, 2021 9:07 a.m.
Đã được chấp nhận
+2

Bạn có thể gắn id sản phẩm đó vào href của link hoặc button, khi click thì chuyển sang trang thông tin chi tiết, lấy id từ URL rồi gọi API bằng id đó. Ví dụ như:

<ul>
  <li><a href="/detail?id_book=0">Chi tiết</a></li>
  <li><a href="/detail?id_book=1">Chi tiết</a></li>
  ...
</ul>
<script>
const bookId = new URLSearchParams(location.search).get("id_book");
fetch(`api/v1/book/?id_book=${bookId}`).then(...)
</script>
Chia sẻ
Avatar Chilly @nhatnguyen123321
May 30th, 2021 2:05 p.m.

Cảm ơn anh ạ. em mường tượng ra rồi ạ

Avatar Chilly @nhatnguyen123321
May 30th, 2021 3:33 p.m.

Anh ơi nhưng mà em const get data từ url ko đc ạ : const bookId = new URLSearchParams(location.search).get("id_book"); console.log(bookId); // null ko đc anh ạ.

Avatar Chilly @nhatnguyen123321
May 30th, 2021 3:44 p.m.

em tìm cách này dc roi ạ

const queryString = window.location.search; console.log(queryString); const urlParams = new URLSearchParams(queryString); const product = urlParams.get('username') console.log(product);

Đã trả lời May 30th, 2021 9:42 a.m.
+2

ban chuyen sang page detail-product , roi tu trang do call api

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí