Web Ajax passing

Json Passing

Json 파일을 ajax를 사용하여 html에 출력

  • Json
[
	{
		"name":"홍길동",
		"age":24,
		"address":"서울시",
		"phone":"123"	
	},
	{
		"name":"일지매",
		"age":28,
		"address":"수원시",
		"phone":"456"	
	},
	{
		"name":"성춘향",
		"age":20,
		"address":"남원시",
		"phone":"789"	
	}
]
  • html
<p id='demo'></p>
<br>

<button type="button">click</button>

<script type="text/javascript">
$(function() {
	$("button").click(function() {
		
		//String -> json	: JSON.parse      이거 두개는 꼭 기억해야한다
		// json -> string	: JSON.stringify
		$.ajax({
			url:"data.json",
			type:"get",
			datatype:"json",	//타입을 설정해야 json 타입으로 보낸다.
			success:function(json){	//매개변수는 아무명이나 가능하다
			//	alert('success');
			//	alert(json); 오브젝트라고 메세지 뜸
				let str = JSON.stringify(json); //Json을 문자열로바꿈
				alert(str); //메세지에 Json 값들이 표시
				alert(json[0].name+" "+json[0].age); // 첫번째 Json의 이름과 나이 출력
				
				for (var i = 0; i < json.length; i++) {
					$("#demo").append(json[i].name+" ");
					$("#demo").append(json[i].age+" ");
					$("#demo").append(json[i].address+" ");
					$("#demo").append(json[i].phone+"<br>");
				}
        ///////////////////////////////////////////////
				$.each(json, function(index, item) {	//위의 for(반복문)와 같다
					$("#demo").append( index + " ");	//배열 인덱스 번호
					$("#demo").append( item.name + " ");
					$("#demo").append( item.age + " ");
					$("#demo").append( item.address + " ");
					$("#demo").append( item.phone + "<br>");
				});
				
			},
			error:function(){
				alert('error');
			}
		});
	});
});
</script>

xml passing

xml 파일을 ajax를 사용하여 html에 출력

  • xml
<?xml version="1.0" encoding="UTF-8"?>
<xmldata>
	<news>
		<target>naver</target>
		<link>http://www.naver.com</link>
		<aname>네이버</aname>
	</news>
	<news>
		<target>daum</target>
		<link>http://www.daum.net</link>
		<aname>다움</aname>
	</news>
	<news>
		<target>google</target>
		<link>http://www.google.co.kr</link>
		<aname>구글</aname>
	</news>
</xmldata>
  • html
<p id='demo'></p>
<br>

<button type="button">click</button>

<script type="text/javascript">
let target = [];
let link = [];
let aname = [];

$(function() {
	$("button").click(function() {
		$.ajax({
			url:"data.xml",
			datatype:"xml",
			success:function(data){
			//	alert('success');
				let xml = $(data).find("xmldata"); //root tag 를 찾는다
				let len = xml.find('news').length;
			//	alert(len);
				for (var i = 0; i < len; i++) {
					target[i] = xml.find("news").eq(i).find("target").text(); // 1. news를 찾고 그안에서 타겟을 찾고 그 안의 text를 가져온다.
					link[i] = xml.find("news").eq(i).find("link").text();
					aname[i] = xml.find("news").eq(i).find("aname").text();
				}
				for (i = 0; i < len; i++) {
					$("#demo").append(target[i]+" "+link[i]+" "+aname[i]+"<br>");
				}
			},
			error:function(){
				alert("error");
			}
		});
	});
});

</script>