Asked thg 5 30, 2021 7:15 SA• 141 0 2
  • 141 0 2
+2

Hỏi về Fetch data JS

Share
  • 141 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 thg 5 30, 2021 9:07 SA
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 Chilly @nhatnguyen123321
•
thg 5 30, 2021 2:05 CH

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

+1
| Reply
Share
Avatar Chilly @nhatnguyen123321
•
thg 5 30, 2021 3:33 CH

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 Chilly @nhatnguyen123321
•
thg 5 30, 2021 3:44 CH

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 thg 5 30, 2021 9:42 SA
+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.