본문 바로가기
[YERIEL] 개발일기/.etc

jQuery - Html Ajax

by YERIEL_염주둥 2020. 3. 31.
728x90

1. 호출 버튼을 눌렀을때 연결된 주소(ajaxHtmlCall.jsp)의 내용이 가져와지는 확인하기

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ajax - html </title>
<script type="text/javascript" src ="./resource/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
	$(function(){
		$('#ajaxCall').click(function(){
			var request = $.ajax({
				  url: "ajaxHtmlCall.jsp", //통신할 url
				  method: "POST",	//통신할 메서드 타입 
				  //data: { id : '' }, //전송할 데이터
				  dataType: "html" //전송받은 데이터를 변환시킬 컨텐츠 타입
				});
				 //정산적으로 통신이 완료되었을때 실행되는 메서드, 인수값인 함수를 실행시켜준다(콜백함수)
				request.done(function( data ) { 
				 console.log(data)
				 if(data != undefined && data !=''){					 
				 }
				});
				 //에러가 발생했을때 실행되는 메서드
				request.fail(function( jqXHR, textStatus ) {
				  alert( "Request failed: " + textStatus );
				});
		});
	});
</script>
</head>
<body>
	<button type = "button"id="ajaxCall">호출</button>
	<div id="ajaxResult"> 호출 버튼을 클릭해주세요. </div>
</body>
</html>

2. html 내용 채우기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<style>
	td{border:1px solid #000;}
</style>
<table>
	<tbody>
		<%
			for(int i=0; i<10;i++){
		%>
		<tr>
			<td> 안녕하세요.<%=i %> </td>
		</tr>	
		<%
			}
		%>
	
	</tbody>
</table>

3. 가져온 데이터를 화면에 뿌리기

명령어 추가 - 어제 배웠쬬 html 추가하는 메서드 $('선택자').html( );

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ajax - html </title>
<script type="text/javascript" src ="./resource/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
	$(function(){
		$('#ajaxCall').click(function(){
			var request = $.ajax({
				  url: "ajaxHtmlCall.jsp", //통신할 url
				  method: "POST",	//통신할 메서드 타입 
				  //data: { id : '' }, //전송할 데이터
				  dataType: "html" //전송받은 데이터를 변환시킬 컨텐츠 타입
				});
				 //정산적으로 통신이 완료되었을때 실행되는 메서드, 인수값인 함수를 실행시켜준다(콜백함수)
				request.done(function( data ) { 
				 console.log(data)
				 if(data != undefined && data !=''){					 
				 $('#ajaxResult').html(data);  //html text로 가져오서 html로 추가해서 화면에 뿌려주기
				 }
				});
				 //에러가 발생했을때 실행되는 메서드
				request.fail(function( jqXHR, textStatus ) {
				  alert( "Request failed: " + textStatus );
				});
		});
	});
</script>
</head>
<body>
	<button type = "button"id="ajaxCall">호출</button>
	<div id="ajaxResult"> 호출 버튼을 클릭해주세요. </div>
</body>
</html>

4. 이제 데이터를 전송해봅시다.

주석 처리한 data :{ id : ' ' } 부분에 키와 값을 넣어 봅시다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ajax - html </title>
<script type="text/javascript" src ="./resource/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
	$(function(){
		$('#ajaxCall').click(function(){
			var num = $('#num').val();
			var request = $.ajax({
				  url: "ajaxHtmlCall.jsp", //통신할 url
				  method: "POST",	//통신할 메서드 타입 
				  data: { len : num }, //전송할 데이터
				  dataType: "html" //전송받은 데이터를 변환시킬 컨텐츠 타입
				});
				 //정산적으로 통신이 완료되었을때 실행되는 메서드, 인수값인 함수를 실행시켜준다(콜백함수)
				request.done(function( data ) { 
				 console.log(data)
				 if(data != undefined && data !=''){					 
				 $('#ajaxResult').html(data);  //html text로 가져오서 html로 추가해서 화면에 뿌려주기
				 }
				});
				 //에러가 발생했을때 실행되는 메서드
				request.fail(function( jqXHR, textStatus ) {
				  alert( "Request failed: " + textStatus );
				});
		});
	});
</script>
</head>
<body>
	<input type="number" id="num" placeholder="출력갯수">
	<button type = "button"id="ajaxCall">호출</button>
	<div id="ajaxResult"> 호출 버튼을 클릭해주세요. </div>
</body>
</html>

입력값을 받아야해서 input 박스 하나 더 만들어서 id를 num으로 하고 

data: { len : num } 키를 len으로 값을 num으로 설정

 

 

5. 데이터를 보냈으니까 받아야겠죠!

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	//len 키값으로 ajax02.html에서 값 전송하여 받기
	String len = request.getParameter("len");
	int num = 0;
	//len 값이 null과 공백이 아니라면
	if(len != null && !"".equals(len.trim())){		
		num = Integer.parseInt(len);
	}
%>   
<!DOCTYPE html>
<style>
	td{border:1px solid #000;}
</style>
<table>
	<tbody>
		<%
			for(int i=0; i<num ;i++){
		%>
		<tr>
			<td> 안녕하세요.<%=i %> </td>
		</tr>	
		<%
			}
		%>
	
	</tbody>
</table>

request.getParameter( ) 로 보내진 데이터를 예쁘게 받아와서 변수에 담아주기.

근데 받아온 데이터가 문자열이죠? 저는 숫자가 필요한데....ㅋㅋ

그래서 Integer.parseInt로 숫자로 형변형 하기 그러고 나서 반복문의 조건에 받아온 인수값 넣어주기!

반응형

'[YERIEL] 개발일기 > .etc' 카테고리의 다른 글

jQurey - Ajax  (0) 2020.03.31
jQuery - json Ajax  (0) 2020.03.31
객체 편집 메서드 실습  (0) 2020.03.31
동적 바인딩 & 트리거 & 이벤트 제거  (0) 2020.03.30
수치 조작 메서드 & 객체 편집 메서드  (0) 2020.03.30

댓글