이 코드를 작성했으며 개체 속성에 액세스하려면 정의되지 않은 것으로 계속 표시됩니다. 누구든지 내 오류를 지적 할 수 있습니까?
function readXML()
{
var xml=new XMLHttpRequest();
xml.open('GET','index.json',false);
xml.send();
var xmlData=xml.responseText;
document.getElementById("demo").innerHTML =
xmlData.firstName + " " + xmlData.lastName;
}
json 파일
{firstName:"John", lastName:"Doe", age:20}
그것을 사용하려고했기 때문에 이것에 대해 읽은 것을 기억했습니다. 요청에 대한 모든 상태 변경이라는 간단한 함수가 누락되었습니다.
당신이 실현 ,false)
설정 async
옵션은 더 이상 사용되지 않으며이 기능이 필수입니다, 그래서 더 이상 지원되지 않습니다.
xml.onreadystatechange = function()
{
if (xml.readyState == 4 && xml.status == 200)
{
var xmlData = JSON.parse(xml.responseText);
document.getElementById("demo").innerHTML = xmlData.firstName + " " + xmlData.lastName;
}
};
이 코드는 xml.open()
명령 바로 위에 있습니다.
이 함수는 요청 상태가 변경 될 때마다 호출되며 , 성공적으로 요청 된 페이지를 의미하는 xml.status
of를 받지 못한 경우 오류를 제공하도록 수정할 수도 있습니다 200
.
이 스 니펫은 함수에 맞게 편집되었으며 PHP, JavaScript, JQueryJS 등과 같은 언어를 문서화하기 위해 공식 웹 사이트에서 가져 왔습니다.
http://www.w3schools.com/json/json_http.asp
json이 올바르게 형식화되지 않았 음을 발견했습니다. 값과 키는 "
또는 로 묶어야합니다 '
. 다음과 같이 표시되어야합니다.
{"firstName":"John","lastName":"Smith"}
에서 당신이 중 하나를 사용할 수 xmlData.firstName
또는 xmlData["firstName"]
둘은 같은 일을한다.
다음으로, async
매개 변수는 더 이상 사용되지 않으며 완전히 비동기식이므로 다음과 같이 변경해야 xml.open()
합니다.
xml.open('GET','index.json');
마지막으로 onreadystatechange
스크립트에 맞게 수정 한 경우 위의 편집 내용이 이전에 적용되었습니다.
귀하의 기능에 맞게 업로드하고 수정했으며 오류가 처리되지 않고 작동하며 완전히 작동합니다. 링크는 다음과 같습니다.
http://js.x10.bz/helpstack/35739016/main.html
다음은 소스 코드에 대한 링크입니다.
http://js.x10.bz/helpstack/35739016/main.txt
마지막으로 JSON 파일은 다음과 같습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다