Ajax (springBoot)

73일차 2023-06-21

choi Hoon 2023. 6. 21. 18:31

Ajax

 

[$.ajax()메서드]

	-가장 사용빈도가 높은 메서드로  jQuery Ajax 관련 메서드를  모두 이 메서드로 구현가능하다
	 즉 HTML,JSON,XML데이타를 로드하거나 POST 및 GET방식으로 데이타를
	 전송하거나 등등 이 이 메서드 하나로 가능하다

	-매개변수중 url,type,data,dataType은 기본적으로 항상 사용하기 때문에
	 $.ajaxSetup()메서드에 설정하면 생략가능하다

	


	$.ajax({인자1:값1,인자2:값2,.....})메서드의 인자들

	url:서버측 페이지 url	
	type:HTTP메서드, 기본값은GET, POST와GET 중선택
	data:서버로 전송되는 데이터[JSON타입의 형식 ]
	dataType:응답결과의 데이터형식(xml,html,json,script, text)
	timeout:요청에대한 응답 제한시간(millisecond)
	contentType:서버전송시의 content-type, application/x-wwwform-urlencoded기본
	success:응답이 성공하는경우 호출되는 콜백함수(무명함수 또는 함수포인터)
	error:에러 발생시 실행되는 콜백함수
	complete:요청이 완료 되었을때 호출되는 콜백함수
	asyn:false로 지정하면 동기 호출 전송. True(디폴트) 설정시 비동기호출


	예]
	   --JsData.js
	   function MyAlert(str1,str2) {
		alert(str1+str2);
	   }
	   -----------------------------------------------------------

	    <script type="text/javascript">

		//에러시 실행할 함수
		function err() { alert('실패'); }

		$(document).ready(
		    function () {
	
			$.ajax({
			    url: 'JsData.js',
			    dataType: "script",
			    type: "get",
			    success: function (data) { MyAlert('Hello ','World'); },
			    error: err


			});


			$('#btn').click(function () {
			    $.ajax({
				url: "printToday.jsp",
				dataType: "html",
				type: "get",
				contentType:'text/html;charset:utf-8',
				data: { msg: $(this).text() }, //서버에 데이타 전송
				success:suc
				//무명함수로 처리
				/*
				function (data) { //data라는 인자에 서버에서 보낸 결과값이 저장 됨

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

				}
				*/



			    });


			});

		    }


		);

		function suc(data){

			$('#pnlDisplay').html(data);
		}
	    
	    </script>
	</head>
	<body>

	    <button id="btn">$.ajax()메서드 이용</button>
	    <div id="pnlDisplay"></div>
	</body>

 

 

 

 

 

 

Index.jsp

IndexController.java

ajax폴더 생성 -> Ajax.jsp생성

 

Ajax 미 사용

Ajax.jsp

아이디, 비밀번호 입력: (KIM ,1234)

 

value=에 해당하는 링크를 Controller로 보냄

AjaxController.java

 

결과

Ajax.jsp

Ajax.jsp의 script

AjaxController.java

결과)

KIM님 즐감!!!

Ajax.jsp

AjaxController.java

두 가지 방법

1번째(비추천)

이렇게 작성하자

결과)

Ajax.jsp

 

Ajax.jsp의 script

 

AjaxController.java

결과)

Ajax.jsp

Ajax.jsp의 script

 

AjaxController.java

결과)

계속 해서 요청

Ajax.jsp

Ajax.jsp의 script

AjaxController.java

결과)

자바과정시
닷넷과정으로 변경시
사물인터넷과정으로 변경시

Ajax.jsp

form 확인

 

AjaxController.java

Ajax.jsp

브라우저 console)

Ajax.jsp의 script

 

AjaxController.java

form과 key = value로 전송

Ajax.jsp

Ajax의 script

AjaxController.java

 

Ajax.jsp

 

결과)

Ajax의 script

AjaxController.java