-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
92 lines (77 loc) · 2.12 KB
/
Copy pathscript.js
File metadata and controls
92 lines (77 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
//AJAX ->async js and xml
//https://dummyjson.com/products
// 0-4
// 1- create request
// 2- define callback function
// 3- open request
// 4- send
//====================
//readyState
//0- unset
//1- opened
//2- header recieved
//3- loading
//4-done
let main=document.querySelector("main")
let req=new XMLHttpRequest();
req.onload=function(){
if(req.readyState==4){
if(req.status==200){
console.log("data recieved..");
let data=JSON.parse(req.responseText);
let pro=data.products;
pro.map(function(ele){
main.innerHTML+=
`
<div class="product-card">
<h2>${ele.title}</h2>
<img src=${ele.thumbnail} alt="">
<p>Price:${ele.price}</p>
</div>
`
})
}
else{
console.log("there is some problem..")
}
}
else {
console.log("error in request");
}
}
req.open("GET",`https://dummyjson.com/products`,true);
req.send();
function changeitems(slug){
console.log("any thing");
main.innerHTML="";
req.open("GET",`https://dummyjson.com/products/category/${slug}`,true);
req.send();
}
function search(word){
main.innerHTML="";
req.open("GET",`https://dummyjson.com/products/search?q=${word}`,true);
req.send();
}
let holdinput=document.querySelector(".inputsearch");
holdinput.addEventListener("keypress",()=>{
search(holdinput.value);
})
function categoriesSite(){
let newreq=new XMLHttpRequest();
newreq.onload=function(){
if(req.readyState==4 && req.status==200){
let categories=JSON.parse(newreq.responseText);
console.log(categories);
let divv=document.querySelector(".categories");
categories.map(function(ele){
divv.innerHTML+=
`
<span class="category" onclick="changeitems('${ele.slug}')"> ${ele.name}</span>
`
})
}
}
newreq.open("GET","https://dummyjson.com/products/categories",true);
newreq.send();
}
categoriesSite();