Browse Source

GraphQL start

Vladislav342 2 years ago
parent
commit
8f397aec5f
1 changed files with 48 additions and 0 deletions
  1. 48 0
      HW_15/gql.html

+ 48 - 0
HW_15/gql.html

@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+	<title>GraphQL</title>
+</head>
+<body>
+
+	<script>
+		const gql=(url,query, variables)=>fetch(url, {method:"POST",headers:{'content-type':'application/json'}, body: JSON.stringify({query,variables})}).then(res=>res.json());
+
+		(async ()=>{
+			let data=await gql("http://shop-roles.asmer.fs.a-level.com.ua/graphql", `query cats($q:String){
+  				CategoryFind(query:$q){
+    					name goods{
+      					name images{
+        				url
+      				}
+    			}
+  			}
+		}`, {q: "[{}]"});
+			console.log(data);
+			console.log(data.data)
+			let div = document.createElement('div');
+    		for (const key in data.data) {    		
+        		for(let keys of data.data[key]){
+        			let p = document.createElement('h3');
+        			p.innerHTML=keys.name;
+        			div.append(p);
+        			if(Array.isArray(keys.goods)){
+        				for(let i of keys.goods){
+        					let p2=document.createElement('p');
+        					p2.style.marginLeft=50+'px';
+        					p2.innerHTML=' - '+i.name;
+        					div.append(p2);
+        				}
+        			}else{
+        				let p2=document.createElement('p');
+        				p2.innerHTML=' - '+keys.goods;
+        			}
+        		}
+    		}
+    		document.body.append(div);
+		})();
+	
+	</script>
+</body>
+</html>