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