이전 포스팅
AJAX 기초 수업 개념 정리!!
실습에 앞서 간단한 개념정리를 해본다~~ @ Ajax 란? JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 데이터를 주고받는 기술이다. 즉, 쉽게 말하자면 자바스크립트를 통해서 서
genie-dev.tistory.com
Spring Framework 에서 사용하는 Ajax 샘플 코드를 정리했다.
흐름은 이렇다~~~~
1. html에서 Send 버튼을 클릭!
2. 버튼 클릭 이번트 감지 function 실행
3. 보낼 데이터 준비 후 ajax url(/send) 로 전송~
4. @PostMapping(value = "/send") url 컨트롤러 매핑
5. Controller 안에서 필요한 작업 수행~
6. $.ajax 안의 success로 콜백 ~!
7. error 발생 시 $.ajax 안 error 실행
샘플코드로 확인하기!
test.html
<form id="testForm" method="post">
이름 : <input type="text" name="name" id="name" value="genie"> <br/>
나이 : <input type="text" name="age" id="age" value="29"><br/>
사는곳 : <input type="text" name="city" id="city" value="seoul"><br/>
<button id="sendBtn">Send</button>
</form>
JS
$(function() {
$("#sendBtn").click(function(e){
e.preventDefault();
/***********************
* 기본 방식
************************/
var form = {
name: "genie",
age: 29
}
$.ajax({
url: "/test/form",
type: "POST",
data: form,
success: function(data){
console.log(data);
},
error: function(){
alert("error .. ");
}
});
/***********************
* form 으로 보내기
************************/
$.ajax({
url: "/test/form",
type: "POST",
data: $("#testForm").serialize(),
success: function(data){
console.log(data);
},
error: function(){
alert("error .. ");
}
});
/***********************
* stringify 으로 보내기
************************/
var form2 = {
name: "genie",
age: 29
}
// 형태 변환 확인해보기
console.log(JSON.stringify(form2)); // print : {"name":"genie","age":29}
console.log(JSON.stringify($('#testForm').serializeArray()));
// print : [{"name":"name","value":"genie"},{"name":"age","value":"29"},{"name":"city","value":"seoul"}]
$.ajax({
url: "/send",
type: "POST",
data: JSON.stringify(form),
dataType: "json",
contentType: "application/json; charset=utf-8;",
success: function(data){
console.log(data)
},
error: function(){
alert("error .. ");
}
});
});
});
VO
public class UserVO {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Controller
@Controller
public class HomeController {
@PostMapping("/test/form")
@ResponseBody
public String test1(UserVO vo) {
/**************************
* vo 에 담긴 param 값 꺼내보기
**************************/
System.out.println("======================");
System.out.println("이름 : " + vo.getName());
System.out.println("나이 : " + vo.getAge());
System.out.println("======================");
return "OK";
}
@PostMapping(value = "/send")
public @ResponseBody Map<String, Object> send(@RequestBody Map<String, Object> param){
/**************************
* map에 담긴 param 값 꺼내보기
**************************/
System.out.println("======================");
System.out.println(param);
System.out.println("이름 : " + param.get("name"));
System.out.println("나이 : " + param.get("age"));
System.out.println("======================");
/**************************
* map에서 가져온값 VO에 담아보기
**************************/
UserVO user = new UserVO();
user.setName((String) param.get("name"));
user.setAge((int) param.get("age"));
/**************************
* 객체를 리턴해보기
**************************/
Map<String, Object> res = new HashMap<>();
res.put("vo", user);
res.put("msg", "OK");
return res;
}
}
끝!! 굳!!!!
'JAVA 강의 ( 초급)' 카테고리의 다른 글
| AJAX 기초 수업 개념 정리!! (0) | 2021.02.18 |
|---|---|
| JSON 에 대해서 알아봅시다. (0) | 2021.02.17 |
| JAVA 기초 3강 (0) | 2020.10.04 |
| 자바 2강! (0) | 2020.09.26 |