AJAX
ajax. jquary로 주고받기
나이많은 초보
2022. 10. 4. 11:49
데이터 전송
@ResponseBody
@RequestMapping(value = "/ajax/ex1.kh", method = RequestMethod.GET)
public void exerciseAjax1(@RequestParam("msg") String msg) {
System.out.println("전송 받은 데이터 : " + msg);
}
<h3>Ajax 구현(jQuery)</h3>
<h4>2. ajax(jQuery)로 서버에 전송값 보내기</h4>
<p>버튼 클릭시 전송값을 서버에서 출력</p>
<input type="text" id="msg-2">
<button onclick="jqueryFunc();">보내기(jQuery)</button>
function jqueryFunc(){
var message= $("#msg-2").val();
$.ajax({
url:'/ajax/ex1.kh',
type : 'get',
data : {'msg' :message},
success : function(){
console.log('서버 전송 성공');
},
error : function(e){
console.log('서버 전송 실패 :' +e.toString);
}
});
}
@ResponseBody가 들어가야한다...
데이터 수신
<h3>3. 버튼 클릭시 서버에서 보낸 값 수신</h3>
<button id="jq-btn3">서버에서 보낸값 확인</button>
<p id="confirm-area"></p>
$("#jq-btn3").on("click",function(){
$.ajax({
url:"/ajax/ex2.kh",
type:"get",
success: function(result){
$("#confirm-area").html(result);
},
error:function(){
console.log("처리실패");
}
});
})
@ResponseBody
@RequestMapping(value = "/ajax/ex2.kh", produces="application/text;charset=UTF-8", method = RequestMethod.GET)
// 인코딩 에러시에 produces="text/plaint;charset=UTF-8"로 기재해도 된다.
public String exerciseAjax2(){
//response.setCharacterEncoding("utf-8");
return "서버에서 왔습니다.";
}
인코딩 3가지...
1. 본문에..response.setCharacterEncoding("utf-8");
2. produces="text/plaint;charset=UTF-8"로 기재해도 된다. 샘이 알려주신거
3. produces="application/text;charset=UTF-8" 검색해서 알아낸것......json타입의 데이터 전송이면 text를 json으로 변경해야 할듯
데이터 전송 수신 같이하기.
<h4>4. 서버로 전송값 보내고 결과 문자열 받아서 처리</h4>
<p>숫자 2개를 전송하고 더한 값 받기</p>
첫번째 수 :
<input type="text" id="num-1">
<br> 두번째 수 :
<input type="text" id="num-2">
<br>
<button id="jq-btn4">전송 및 결과확인</button>
<p id="p4"></p>
$("#jq-btn4").on("click",function(){
var num1=$("#num-1").val();
var num2=$("#num-2").val();
$.ajax({
url:'/ajax/ex3.kh',
typel:'get',
data:{
"num1":num1,
"num2":num2
},
success:function(sum){
$("#p4").html("연산결과 : "+sum);
},
error : function(){
console.log("처리실패");
}
});
});
@ResponseBody
@RequestMapping(value = "/ajax/ex3.kh", method = RequestMethod.GET)
public String exerciseAjax3(
@RequestParam("num1") Integer num1
,@RequestParam("num2") Integer num2
){
Integer sum=num1+num2;
return String.valueOf(sum);
}