fetch를 통해 데이터 받아오기
HTML body
<button onclick="ajax()">json파일 ajax요청</button>
<div class="result"></div>
<hr>
<button onclick="ajax2()">xml데이터</button>
JSON
{
"id": "kkk123",
"topic": "헬로",
"age": 20
}
function ajax() {
fetch("hi.json").then(function (response) {
return response.json(); //json형변환. fetch가 제공하는 기능
}).then(function (data) {
console.log(data.id);//가능
console.log(data["id"]);//가능
var result = document.querySelector(".result");
result.innerHTML = data["id"];
})
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<datas>
<data>
<name>Windows</name>
<version>9</version>
<price>99</price>
</data>
<data>
<name>Mac</name>
<version>15</version>
<price>99999</price>
</data>
<data>
<name>Linux</name>
<version>123.4567</version>
<price>0</price>
</data>
</datas>
xml은 태그로 감싸여 있다.
function ajax2() {
fetch("hi.xml")
.then(function (res) {
return res.text();
}).then(function (data) {
var result = new DOMParser().parseFromString(data,'text/xml');
var arr = result.querySelectorAll("datas>data");
for(var i=0;i<arr.length;i++){
console.log(arr[i].querySelector("name").innerHTML);
console.log(arr[i].querySelector("version").innerHTML);
console.log(arr[i].querySelector("price").innerHTML);
}
})
}
DOMParser().parseFromString(data,'text/xml')로 형변환.
'JS' 카테고리의 다른 글
230106 JS AJAX 서버 -yts.mx/api에서 받아오기 (0) | 2023.01.06 |
---|---|
230106 JS AJAX 서버 -공공데이터포털 (0) | 2023.01.06 |
230106 JS AJAX (비동기 통신) (0) | 2023.01.06 |
230105 JS 쿠키실습 (0) | 2023.01.05 |
230105 JS 로컬스토리지 (0) | 2023.01.05 |