JQuary로 Ajax 구현하기

jQuery 2016. 3. 21. 14:20

예제1) JQuary: 서버의 데이터를 대상 엘리먼트에 삽입하기 load()


load(url[, data][, success])

url: 요청할 URL 주소이고, data는 요청할 때 서버에 보낼 자바스크립트 객체 맵이나 문자열 형식의 데이터

success: 요청이 성공했을 때 호출할 콜백 함수

load() 메소드: 완료된 응답을 일치하는 집합에 있는 엘리먼트의 콘텐츠로 삽입


1) resource.html을 Jquary를 이용하여 불러올 exam02.html

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>JQuary로 Ajax 구현하기</title>

<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>

<!-- <script src="js/jquery-1.12.2.min"></script> -->

<script>

$(document).ready(function() {

$('button').click(function() {

$('#container').load('resource.html');

});

});

</script>


</head>

<body>

<button>서버로부터 데이터 가져오기</button>

<div id="container">데이터 가져오기 전</div>

</body>

</html>


2) 불러올 resource.html  

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>resource</title>

</head>

<body>

<Strong>Happy New Year!!</Strong>

</body>

</html>






Ajax 요청 직접 제어하기

jQuery에서는 $.ajax()라는 유틸리티 함수로 Ajax 요청을 설정 제어한다. 


$.ajax(options)

요청의 생성 방법과 통보 받을 콜백을 제어하고자 전달된 options 를 사용하여 Ajax 요청을 전송한다. 

반환값은 XHR 인스턴스이다. 






예제2) JQuary 연습2


1) exam03.html

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>JQuary로 Ajax 구현하기</title>

<style>

div{width:180px;height;80px;margin:3px;float:left;background:#ccc;}

</style>

<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>

<script>

$(function(){

$('#menu1').click(function(){

$('#menu1').load('menu.html');

});

$('#menu2').click(function(){

$('#menu2').load('menu.html li');

});

});

</script>

</head>

<body>


<div>

<a href="#" id="menu1">메뉴 보기1</a>

<span id="message1"></span>

</div> 


<div>

<a href="#" id="menu2">메뉴 보기2</a>

<span id="message2"></span>

</div> 


</body>

</html>


2) 불러올 파일 menu.html

<p>중식메뉴</p>

<ul>

<li>짜장면</li>

<li>짬뽕</li>

<li>볶음밥</li>

<li>탕수육</li>

</ul>




예제3) JQuary에서 Ajax 요청 직접 제어하기

위의 예제2에서 사용된 Jquary를 Ajax로 구현할 수 있다.

JQuary의 $.alax라는 유틸리티 함수를 이용하면 된다.


1) exam04.html

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>JQuary로 Ajax 구현하기</title>

<style>

div{width:180px;height;80px;margin:3px;float:left;background:#ccc;}

</style>

<script src="http://code.jquery.com/jquery-1.12.0.min.js"></script>

<script>

$(function(){

$('#menu1').click(function(){

$.ajax({ // ajax 유틸리티가 이하의 내용을 확인

url:'menu.html', // url: 요청할 URL 주소

dataType:'html',  // data: 요청할 때 서버에 보낼 자바스크립트 객체 맵이나 문자열 형식의 데이터

success:function(data){ // success: 요청이 성공했을 때 호출할 콜백 함수

$('#message1').html(data);

}

  });

return false;

// 반환값을 false로 하면 자신의 부모에게는 이벤트를 전달하지 않음.

});

$('#menu2').click(function(){

$.ajax({ 

url:'menu.html',

dataType:'html',

success:function(data){

$('#message2').html($(data).find('li'));

}

});

return false;

});

});

</script>

</head>

<body>

<div>

<a href="#" id="menu1">메뉴 보기1</a>

<span id="message1"></span>

</div> 

<div>

<a href="#" id="menu2">메뉴 보기2</a>

<span id="message2"></span>

</div> 


</body>

</html>










Posted by netyhobby
,