Gennadysht 2 gadi atpakaļ
vecāks
revīzija
2714a86693

+ 1 - 1
js/15_Recurs/hw_15_04_universal_string .html

@@ -1,5 +1,5 @@
 <header>
-    HTML Tree
+    string
 </header>
 
 <body>

+ 25 - 0
js/16/hw16_01_fetch_basic.html

@@ -0,0 +1,25 @@
+<header>
+    fetch basic
+</header>
+
+<body>
+    <script>
+            fetch('https://swapi.dev/api/people/1/')
+            .then(res => res.json())
+            .then(luke => {
+                let table = document.createElement("table");
+                for (let key in luke) {
+                    let row = document.createElement("tr");
+                    table.append(row);
+                    let nameTd = document.createElement("td");
+                    nameTd.innerText = key;
+                    row.append(nameTd);
+                    let valueTd = document.createElement("td");
+                    valueTd.innerText = luke[key];
+                    row.append(valueTd);
+                }
+                table.border = "1";
+                document.body.append(table);
+            });
+    </script>
+</body>

+ 51 - 0
js/16/hw_16_02_fetch_improoved.html

@@ -0,0 +1,51 @@
+<header>
+    fetch improoved
+</header>
+
+<body>
+    <script>
+        const improovedFetch = (url, el) => {
+            fetch(url)
+                .then(res => res.json())
+                .then(luke => {
+                    let table = document.createElement("table");
+                    for (let key in luke) {
+                        let row = document.createElement("tr");
+                        table.append(row);
+                        let nameTd = document.createElement("td");
+                        nameTd.innerText = key;
+                        row.append(nameTd);
+                        let valueTd = document.createElement("td");
+                        let value = luke[key];
+                        let valueArr = [];
+                        if (typeof value == "string") {
+                            valueArr.push(value);
+                        }
+                        else if (Array.isArray(value)) {
+                            valueArr = value.filter(val => typeof val == "string");
+                        }
+                        valueArr = valueArr.filter(val => val.startsWith("https://swapi.dev/api/"));
+                        if (valueArr.length > 0) {
+                            for (let urlStr of valueArr) {
+                                let div = document.createElement("div");
+                                valueTd.append(div);
+                                let button = document.createElement("button");
+                                button.onclick = () => {
+                                    button.style.display = "none";
+                                    improovedFetch(urlStr, div);
+                                };
+                                valueTd.append(button);
+                            }
+                        }
+                        else {
+                            valueTd.innerText = luke[key];
+                        }
+                        row.append(valueTd);
+                    }
+                    table.border = "1";
+                    el.append(table);
+                });
+        }
+        improovedFetch('https://swapi.dev/api/people/1/', document.body);
+    </script>
+</body>