JSON.stringify() : JS객체 -> JSON
JSON.parse() : JSON -> JS객체
fetch("/selectMember", {
method : "POST",
headers : {"Content-Type" : "application/json"},
body : JSON.stringify({"email" : inputEmail.value})
})
.then( resp => resp.json()) // 응답 객체를 매개변수로 얻어와 파싱
.then( member => {
console.log(member);
}) // 파싱한 데이터를 이용해서 비동기 처리 후 동작
.catch(err => console.log(err))
})
🔎 AjaxController
// 이메일로 회원 정보 조회
@PostMapping("/selectMember")
@ResponseBody // Java 데이터 -> JSON, TEXT로 변환 + 비동기 요청한 곳으로 응답
public Member selectMember(@RequestBody Map<String, Object> paramMap) {
// @RequestBody Map<String, Object> paramMap
// -> 요청된 HTTP Body에 담긴 모든 데이터를 Map으로 반환
String email = (String)paramMap.get("email");
return service.selectMember(email);
}
🔎 AjaxServiceImpl
// 이메일로 회원 정보 조회
@Override
public Member selectMember(String email) {
return dao.selectMember(email);
}
🔎 AjaxDAO
/** 이메일로 회원 정보 조회
* @param email
* @return member
*/
public Member selectMember(String email) {
return sqlSession.selectOne("ajaxMapper.selectMember", email);
}
🔎 ajax-mapper.xml
<!-- 이메일로 회원 정보 조회 -->
<select id="selectMember" parameterType="string" resultType="string">
SELECT *
FROM MEMBER
WHERE MEMBER_EMAIL = #{email}
</select>