Cześć,
mam modal, w którym chciałbym wyświetlać produkty z koszyka. Produkty dodaję do koszyka przy pomocy ajaxa, po kliknięciu w button jest uruchamiana funkcja w ajaxie dodajDoKoszyka().
Mam tutaj zrobioną pętlę, która dodaje produkt do koszyka, a następnie pobiera listę i wyświetla ją w modalu. Jednak chciałbym to zrobić w inny sposób. Zamiast dodawać w ajaxie paragrafy z nazwą produktu chciałbym przekazać całą listę do modala, gdzie znajdowałby się div z th:each i tutaj byłaby zmienna powiedzmy **${listaProduktów} **, przy pomocy której mógłbym wyświetlać sobie co tylko chcę z tej listy. Czy jest możliwe przekazanie całej listy z ajaxa do zmiennej w thymeleafie? Bardzo proszę o pomoc.
Modal:
<div class="modal fade" id="dodanoDoKoszykaModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="dodanoDoKoszykaModalTitle">Dodano do koszyka</h5>
<button type="button" class="close" data-dismiss="modal">
</button>
</div>
<div class="modal-body" id="dodanoDoKoszykaModalBody">
<!-- W ten sposób chciałbym wyświetlać listę produktów z koszyka -->
<div class="listaaaa" th:each="produkt : ${listaProduktow}">
<p th:text="${produkt.nazwaProduktu}"></p>
</div>
<!-- Tak robię to teraz, w ajaxie dodaję do tego diva paragraf -->
<div id="listaProduktow">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
Funkcja dodawania produktu do koszyka w ajaxie:
function dodajDoKoszyka(nazwaProduktu)
{
url = "/test" + nazwaProduktu;
$.ajax({
type: "POST",
url: url,
beforeSend: function(xhr){
xhr.setRequestHeader(csrfHeaderName, csrfValue);
}
}).done(function(response)
{
$("#dodanoDoKoszykaModalTitle").text("Koszyk");
$.each(response, function(index, value){
$("#listaProduktow").append($("<p>").text(value.nazwaProduktu));
});
$("#dodanoDoKoszykaModal").modal();
}).fail(function()
{
$("#dodanoDoKoszykaModalTitle").text("Error");
$("#dodanoDoKoszykaModalBody").text("Źle");
$("#dodanoDoKoszykaModal").modal();
});
}