JSON의 일반적인 용도는 웹 페이지의 데이터를 웹 서버로부터 데이터를 판독하고 표시한다.
이 장에서는 XMLHTTP를 사용하여 JSON 데이터를 읽는 방법을 4 가지 간단한 단계에서 당신을 가르 칠 것입니다.
JSON 예
이 예에서 메뉴 읽고 myTutorials.txt 하고, 웹 페이지의 메뉴를 표시합니다
JSON 예
<div id="id01"></div>
<script>
var xmlhttp = new XMLHttpRequest();
var url = "myTutorials.txt";
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status ==
200) {
var myArr = JSON.parse(xmlhttp.responseText);
myFunction(myArr);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(arr) {
var
out = "";
var i;
for(i = 0; i <
arr.length; i++) {
out += '<a
href="' + arr[i].url + '">' +
arr[i].display + '</a><br>';
}
document.getElementById("id01").innerHTML = out;
}
</script>
»그것을 자신을 시도 예 설명
1 : 객체의 배열을 만듭니다.
선언 문자 배열을 사용하여 array 의 objects .
각 개체에게 두 가지 속성을 보내기 display 및 url .
배열의 이름 myArray :
myArray
var myArray = [
{
"display": "JavaScript Tutorial",
"url": "http://www.w3ii.com/js/default.html"
},
{
"display": "HTML Tutorial",
"url": "http://www.w3ii.com/html/default.html"
},
{
"display": "CSS Tutorial",
"url": "http://www.w3ii.com/css/default.html"
}
]
2 : 배열을 표시하는 자바 스크립트 함수를 만듭니다.
함수 작성 myFunction() 어레이 객체를 반복하는, 및 HTML 링크와 같은 컨텐츠를 디스플레이
myFunction()
function myFunction(arr) {
var out = "";
var i;
for(i = 0; i < arr.length; i++) {
out += '<a href="' + arr[i].url + '">' + arr[i].display + '</a><br>';
}
document.getElementById("id01").innerHTML = out;
}
호출 myFunction() 함께 myArray 인수로 :
3 : 텍스트 파일을 만듭니다
라는 이름의 파일에 문자 배열을 넣어 myTutorials.txt :
myTutorials.txt
[
{
"display": "JavaScript Tutorial",
"url": "http://www.w3ii.com/js/default.html"
},
{
"display": "HTML Tutorial",
"url": "http://www.w3ii.com/html/default.html"
},
{
"display": "CSS Tutorial",
"url": "http://www.w3ii.com/css/default.html"
}
]
파일»봐 4 : XMLHttpRequest를 사용하여 텍스트 파일 읽기
쓰기 XMLHttpRequest 텍스트 파일을 읽고 사용 myFunction() 배열을 표시합니다 :
XMLHttpRequest의
var xmlhttp = new XMLHttpRequest();
var url = "myTutorials.txt";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 &&
xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
myFunction(myArr);
}
};
xmlhttp.open("GET",
url, true);
xmlhttp.send();
»그것을 자신을 시도