ajax
jQuery에서 ajax를 사용하기 위한 방법에 대해서 살펴본다.
ajax
jQuery ajax
$.ajax({option})BE 준비
예제 - User List (1)
예제 - User List (2)
예제 - User Detail
Last updated
jQuery에서 ajax를 사용하기 위한 방법에 대해서 살펴본다.
$.ajax({option})Last updated
$(function(){
$(".load-btn").click(function(){
$.ajax({
url:"https://reqres.in/api/users",
method:"get",
dataType:"json",
success:function(resp) {
const data = JSON.stringify(resp, null, 3);
$(".load-result").html(data);
},
error:function(e){
window.alert("Ajax error");
}
});
});
});<button class="load-btn">Load</button>
<hr>
<pre class="load-result"></pre>$(function(){
$(".load-btn").click(function(){
$.ajax({
url:"https://reqres.in/api/users",
method:"get",
dataType:"json",
success:function(resp) {
const data = resp.data;
const template = $("#result-item-template").html();
for(let i=0; i < data.length; i++){
const html = $.parseHTML(template);
console.log(html, $(html));
$(html).find(".avatar").attr("src", data[i].avatar);
$(html).find(".id").text(data[i].id);
$(html).find(".email").text(data[i].email);
$(html).find(".first_name").text(data[i].first_name);
$(html).find(".last_name").text(data[i].last_name);
$(".load-result").append(html);
}
},
error:function(e){
window.alert("Ajax error");
}
});
});
});<script type="text/template" id="result-item-template">
<div>
<ul>
<li><img class="avatar"></li>
<li>[ID] <span class="id"></span></li>
<li>[E-mail] <span class="email"></span></li>
<li>
[Name]
<span class="last_name"></span>
<span class="first_name"></span>
</li>
</ul>
</ul>
</div>
</script>
<button class="load-btn">Load</button>
<hr>
<div class="load-result"></div>.load-result ul {
list-style: none;
}$(function(){
$(".search-btn").click(function(){
const userId = $("[name=id]").val();
if(!userId) return;
$.ajax({
url:"https://reqres.in/api/users/"+userId,
method:"get",
dataType:"json",
success:function(resp) {
const data = resp.data;
const template = $("#result-item-template").html();
const html = $.parseHTML(template);
$(html).find(".avatar").attr("src", data.avatar);
$(html).find(".id").text(data.id);
$(html).find(".email").text(data.email);
$(html).find(".first_name").text(data.first_name);
$(html).find(".last_name").text(data.last_name);
$(".search-result").html(html);
},
error:function(e){
$(".search-result").html("<h1>Not found</h1>");
}
});
});
});<script type="text/template" id="result-item-template">
<div>
<ul>
<li><img class="avatar"></li>
<li>[ID] <span class="id"></span></li>
<li>[E-mail] <span class="email"></span></li>
<li>
[Name]
<span class="last_name"></span>
<span class="first_name"></span>
</li>
</ul>
</ul>
</div>
</script>
<input type="text" name="id">
<button class="search-btn">search</button>
<hr>
<div class="search-result"></div>.search-result ul {
list-style: none;
}