본문 바로가기

JSP

JSON - 왜 안될까?(일별 박스오피스 -> 영화 상세보기 -> 배우 상세보기)

배우 상세보기만! 안됌 ㅠ-ㅠ

 

일별 박스오피스.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
	$(function() {
			$.ajax({
				type: "get",
				url: "https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=e7340032dd56a5699df512d551a3f5c8&targetDt=20220311",
				dataType: "json"
			})
			.done(function(data) {
				$('#resultArea').html('<table border="1">' 
						+ '<th width="100">현재순위(rank)</th><th width="400">영화명(movieNm)</th><th width="150">개봉일(openDt)</th><th width="100">누적관객수(audiAcc)</th>' 
						+ '</table>');

				var boxOfficeResult = data.boxOfficeResult; // "boxOfficeResult" 속성에 해당하는 값 추출됨
				
				var boxofficeType = boxOfficeResult.boxofficeType;
				
				var dailyBoxOfficeList = boxOfficeResult.dailyBoxOfficeList;

				for(var dailyBoxOffice of dailyBoxOfficeList) {
					var rank = dailyBoxOffice.rank;
					var movieNm = dailyBoxOffice.movieNm;
					var openDt = dailyBoxOffice.openDt;
					var audiAcc = dailyBoxOffice.audiAcc;
					
					var movieCd = dailyBoxOffice.movieCd;
					
					$('#resultArea > table').append(
							'<tr>' 
							+ '<td>' + rank + '</td>'
							+ '<td>' + '<a href="./clone_test8_json_movie_detail.jsp?movieCd=' + movieCd + '">' + movieNm + '</a>' + '</td>'
							+ '<td>' + openDt + '</td>'
							+ '<td>' + audiAcc + '명</td>'
							+ '</tr>'
					);
				}
				
			})
			.fail(function() {
				$('#resultArea').html('<h3>JSON 요청 실패!</h3>');
			});	
	});
</script>
</head>
<body>
	<h1>clone_test8_json.jsp</h1>
	<div id="resultArea"></div>
</body>
</html>

 

영화 상세정보.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
	$(function() {
		var movieCd = ${param.movieCd};
		var movieDetailUrl = 'http://www.kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieInfo.json?key=e7340032dd56a5699df512d551a3f5c8&movieCd=' + movieCd;
		
		$.ajax({
			type: "get",
			url: movieDetailUrl,
			dataType: "json"
		})
		.done(function(data) {
			var movieInfo = data.movieInfoResult.movieInfo;
			
			$('#resultArea').append('영화명 : ' + movieInfo.movieNm + '(' + movieInfo.movieNmEn + ')<br>');
			$('#resultArea').append('감독 : ' + movieInfo.directors[0].peopleNm + '(' + movieInfo.directors[0].peopleNmEn + ')<br>');
			$('#resultArea').append('출연진 : ');
			for(var actor of movieInfo.actors) { // 여러명의 배우일 경우 모든 정보에 접근하기 위해 반복문 활용
				var movieActorDetailUrl = 'clone_test8_json_actor_detail.jsp?key=e7340032dd56a5699df512d551a3f5c8&peopleNm=' + actor.peopleNm;
				$('#resultArea').append('<a href="' + movieActorDetailUrl + '">' + actor.peopleNm + '(' + actor.peopleNmEn + ')</a> ');
			}
		})
		.fail(function() {
			$('#resultArea').html('<h3>JSON 요청 실패!</h3>');
		});	
	});
</script>
</head>
<body>
	<h1>test8_json_movie_detail.jsp - 영화 상세정보</h1>
	<div id="resultArea"></div>
</body>
</html>

 

배우 상세정보.jsp // 여기만 실행이 안됌 딱 처음 alert 까지만 되고 두번째 alert 부터 안나옴 ㅠ

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
	$(function() {
		alert('jquery 실행 성공');
		var peopleNm = ${param.peopleNm};
		alert('배우 이름 : ' + peopleNm);
		
		var actorDetailUrl = 'http://kobis.or.kr/kobisopenapi/webservice/rest/people/searchPeopleList.json?key=e7340032dd56a5699df512d551a3f5c8&peopleNm=' + peopleNm;
		
		$.ajax({
			type: "get",
			url: actorDetailUrl,
			dataType: "json"
		})
		.done(function(data) {
			var peopleList = data.peopleListResult.peopleList;
			
			$('#resultArea').append('배우명 : ' + peopleList.peopleNm[0] + '(' + peopleList.peopleNmEn[0] + ')<br>');
			$('#resultArea').append('<h6>출연영화 : ' + peopleList.filmoNames[0] + '</h6>');
		})
		.fail(function() {
			$('#resultArea').html('<h3>JSON 요청 실패!</h3>');
		});	
	});
</script>
</head>
<body>
	<h1>clone_test8_json_actor_detail.jsp - 배우 상세정보</h1>
	<div id="resultArea"></div>
</body>
</html>