From b379f5943a8b7c51c83aa55feb65fd98b5fdf074 Mon Sep 17 00:00:00 2001 From: christodharma <13521009@std.stei.itb.ac.id> Date: Mon, 13 Nov 2023 13:34:27 +0700 Subject: [PATCH] feat: checkout frontend script --- client/js/cart.js | 29 +++++++++++++++++++++++++++++ server/controllers/transaction.php | 3 +++ 2 files changed, 32 insertions(+) create mode 100644 server/controllers/transaction.php diff --git a/client/js/cart.js b/client/js/cart.js index 2c564ec..30454e6 100644 --- a/client/js/cart.js +++ b/client/js/cart.js @@ -1,3 +1,4 @@ +var cartDataArray; cartList = () => { var cartListItems = document.getElementById("cart-list"); const xhr = new XMLHttpRequest(); @@ -37,4 +38,32 @@ cartList = () => { console.log(responseData.message); } }; +} + +submitCheckout = () => { + // send cartDataArray back as post method + const cartData = new FormData(); + cartData.append("data", cartDataArray); + const xhr = new XMLHttpRequest(); + xhr.open('POST', '../../server/controllers/transaction.php', true); + xhr.send(cartData); + xhr.onreadystatechange = function () { + if (xhr.readyState === 4 && xhr.status === 200) { + try { + // Process the response data here + var responseData = JSON.parse(xhr.responseText); + if (responseData.success) { + alert("Check out success") + location.reload(); + } else { + alert("error: " + responseData.message) + } + } catch (error) { + alert(error) + } + } else if (xhr.status === 404) { + var responseData = JSON.parse(xhr.responseText); + console.log(responseData.message); + } + }; } \ No newline at end of file diff --git a/server/controllers/transaction.php b/server/controllers/transaction.php new file mode 100644 index 0000000..69007d5 --- /dev/null +++ b/server/controllers/transaction.php @@ -0,0 +1,3 @@ +<?php + +?> \ No newline at end of file -- GitLab