본문 바로가기

prototype.js 를 이용한 JSON사용 예제

MintState 2010년 1월 19일 오전 11:02 조회 19179

prototype.js 를 이용한 JSON사용 예제

아래는 JSON 사용의 간단한 예제 입니다.

1번 예제

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
Event.observe(window , 'load' , init);
function init() {
		$('jsonBtn').observe('click' , getJsonData);
}
function getJsonData() {
		new Ajax.Request(
				'json.php'
				,{onSuccess: function(jsonData) {
						var jsonOBJ = jsonData.responseText.evalJSON(true);
						if(jsonOBJ.books.length>0) {
								jsonOBJ.books.each(
										function(book) {
												$('bookDiv').insert('책이름: '+book.title)
												.insert(' , 저자:'+book.author)
												.insert(' , 출판사:'+book.publisher+'<br/>');
										}
								);
						}
				} 
		}); 
}
</script>
</head>
<body>
<h1>JSON데이터 얻어오기</h1>
<input type="button" id='jsonBtn' value="getJsonData">
<div id='bookDiv'></div>
</body>
</html>

json.php 파일 내용

{"books":[
	{"title": "경량데이터JSON", "author": "김성운", "publisher": "야메출판사"}, 
	{"title": "JSON의 활용", "author": "한동열", "publisher": "노을과책"}, 
	{"title": "XML vs JSON", "author": "홍길동", "publisher": "꽃보다책"}, 
]}

2번 예제

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax 통신</title>
<!-- Ajax 객체 및 오브젝트를 브라우저에 상관없이 핸들링할 수 있는 prototype.js -->
<script language="javascript" type="text/javascript" src="js/prototype.js"></script>
<script language="javascript">
// 화면상의 각종 이벤트를 catch할 수 있는 모듈
Event.observe(window, 'load', function() {
		Event.observe('textField', 'keydown', AJAXComm.fileReceive);
});
// Ajax와 통신할 객체를 생성하는 부분으로
// URL : 호출할 서버 액션 기술
// DataShow.jsonData(xmlHttp)은 서버 호출 후 response를 받아 처리하는 함수부분
var AJAXComm = {
		fileReceive: function(event) {
				var URL = 'put.php';
				var rqst = new Ajax.Request(URL, {
						onSuccess: function(xmlHttp) {
								DataShow.jsonData(xmlHttp);
						}
				});
		}
}
// Ajax통신 후 response값(JSON)을 처리하는 함수
var DataShow = {
		jsonData: function(xmlHttp) {
				var serverData = xmlHttp.responseText;
				var evalData = eval('(' + serverData + ')');
				for (var i=0; i<evalData. keyword.length; i++) {
						var varCode = evalData. keyword [i];
						var editData = "<div>"+varCode+"</div>";
						new Insertion.Bottom('srchWord',editData);
				}
		}
}
</script>
</head>
<body>
<form method="get">
<h1>AJAX 추천검색</h1>
<div id="firstDivision">
	<br />
	<div>
		<input type="text" id="textField" value="검색어를 입력하세요" class="applyText" />
		<input type="button" value="검색">
		<div id="srchWord" class="applyBorder"></div>
	</div>
</div>
</form>
</body>
</html>

json.php 파일 내용

{"keyword": [
	"가방", 
	"가방끝", 
	"가방수리", 
	"가방수선점"
]}
공유 X Facebook LINE QR 코드

댓글 0개

첫 댓글을 남겨보세요.