본문 바로가기

FrontEnd/JavaScript

1108 jQuery - json, ajax 의 기초(2)

728x90
반응형

배열 (2차원 배열 형태) => JSON 타입

var arr = 
    [
        {name:"학생1",addr:"부산"},
        {name:"학생2",addr:"울산"},
        {name:"학생3",addr:"서울"},
        {name:"학생4",addr:"제주"},
        {name:"학생5",addr:"강원"}
    ];
    for(var i=0;i<arr.length;i++){
			$('table').append("<tr><td>"+arr[0].name+"</td><td>"+arr[i].addr+"</td></tr>");
		}

    $('table').append("<tr><td>"+arr[0].name+"</td><td>"+arr[0].addr+"</td></tr>");
<table border="1">
    <tr>
        <td>이름</td>
        <td>주소</td>
    </tr>
</table>

 

 

< 실행값 >

arr, addr 값을 각 각 꺼내서 반복문을 통해 풀어 준 모습

 

 

 

 

< 배열 문법 >

each()
$(요소).each(function(){});
$.each(요소,function(){});

 

 

 

배열의 값을 테이블에 추가

$(arr).each(function(idx,item){
    console.log(item); //배열의 객체값
    $('table').append();
    $('table').append("<tr><td>"+item.name+"</td><td>"+item.addr+"</td></tr>");
});

 

 

 

AJAX란?

비동기 자바스크립트와 XML (Asynchronous JavaScript And XML) 을 말합니다. 

 

 

    동기화   <  >  비동기화
동기 서버의 데이터와 클라이언트의 데이터를 동일하게 만드는 작업
(화면 전환 O)
비동기 서버의 데이터와 클라이언트의 데이터를 동일하게 만드는 작업
(화면 전환 X)

 

 

뉴스 실행시키기 

https://news.jtbc.co.kr/Etc/RssService.aspx

 

JTBC 뉴스

 

news.jtbc.co.kr

 

 

RSS 주소 복붙

<script src="jquery-3.6.1.js"></script>
<script type="text/javascript">

	$(function(){
// 		$('input').click(function(){
// 			//비동기방식 처리
// 			//$.ajax("test.jsp"); //test.jsp 실행시키고 와라
// 			$.ajax({
// 				url:"test.jsp",
// 				data: {name:"홍길동",tel:"010-1234-1234"} ,
// 				success:function(data){
// 					//alert('ajax 성공!');
// 					//alert(data);
// 					$('body').append(data);
// 				},
// 				error:function(){
// 					alert('ajax 실패');
// 				},
// 				complete:function(){
// 					alert('ajax 끗');
// 				}
// 			});
			
// 		});
		
		$('#btnNews').click(function(){
			alert("뉴스 정보 가져오기");
			
			$.ajax({
				url:"https://fs.jtbc.co.kr//RSS/morningand.xml",
				success:function(data){
					alert("성공");
					console.log(data);
					
					//뉴스 누르면 이동하게 하기
					$(data).find('item').each(function(){
						$('body').append("<a href='"+$(this).find('link').text()+"'>"+$(this).find('title').text()+"<hr>");
					})
				}
			});
		});		
	}); //jquery
	</script>
	<h1>test5.jsp</h1>
	<input type="button" value="정보불러오기" >
	
	<input type="button" id="btnNews" value="뉴스 정보 불러오기" >

 

 

 

 

 

JSON 란?

=> 자바스크립트로 객체를  표현하는 방법

XML,CSV,JSON (개방형 표준 데이터 포맷)
- 단순 텍스트 형태 이름:값 (직관적)
- 불필요한 태그 없음 => 데이터의 크기가 적음
- 특정 언어에 독리벚ㄱ이다. 규칙을 지켜야함(엄격함)
- JSON 파서는 브라우저에 포함

 

 

{ } JSON 객체
[ ] JSON 배열
"이름": 값 : 데이터
정수값 (2/8/16진수 x , 안씀!)
실수값
boolean
null
문자열 ("")
배열, 객체



 

test6.jsp

<script src="jquery-3.6.1.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		/* 
		$.ajax({
			url:"test.json",
			dataType: "json",
			success:function(data){
				alert("성공");
				console.log(data);
				$('body').append(data.name);
				$('body').append(data.addr);
				$('body').append(data.tel);
			}
		}); */
		
		$.getJSON("test.json",function(data){
			console.log(data);
			$(data).each(function(idx,item){
				$('table').append("<tr> <td>"+item.name+"</td> <td>"+item.addr+"</td> <td>"+item.tel+"</td> </tr>");
				
			});
		});
		
	});
	</script>
</head>
<body>
	<h1>test6.jsp</h1>
	
	<table border="1">
		<tr>
			<td>이름</td>
			<td>주소</td>
			<td>전화번호</td>
		</tr>
	</table>

 

test.json

[
{ "name":"홍길동","addr":"부산","tel":"010-1234-1234" },
{ "name":"홍길동1","addr":"부산","tel":"010-1234-1234" },
{ "name":"홍길동2","addr":"부산","tel":"010-1234-1234" },
{ "name":"홍길동3","addr":"부산","tel":"010-1234-1234" },
{ "name":"홍길동4","addr":"부산","tel":"010-1234-1234" },
{ "name":"홍길동5","addr":"부산","tel":"010-1234-1234" }
]

 

< 실행 >

728x90
반응형

'FrontEnd > JavaScript' 카테고리의 다른 글

1108 jQuery - jQuery의 기초  (0) 2022.11.08
0916 JavaScript - jQuery, Ajax - DB연결  (2) 2022.09.16
0908 JavaScript - JQuery  (0) 2022.09.08
0901 JavaScript - 내장 객체 (2)  (2) 2022.09.01
0825 JavaScript - 내장 객체, Location  (0) 2022.08.25