Asked May 30th, 2021 7:15 a.m. 91 0 2
  • 91 0 2
+2

Hỏi về Fetch data JS

Share
  • 91 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 ANSWERS


Answered May 30th, 2021 9:07 a.m.
Accepted
+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>
Share
Avatar Nguyen Nhat @nhatnguyen123321
May 30th, 2021 2:05 p.m.

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

+1
| Reply
Share
Avatar Nguyen Nhat @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 ạ.

0
| Reply
Share
Avatar Nguyen Nhat @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);

+1
| Reply
Share
Answered May 30th, 2021 9:42 a.m.
+2

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

Share
Viblo
Let's register a Viblo Account to get more interesting posts.