이 코드는 async가 false로 설정된 경우에만 작동합니다. 그 이유는 무엇입니까?자바 비동기 요청이 작동하지 않습니다.
<head>
<script type="text/javascript" src="contact.js"></script>
</head>
을 그리고처럼 사용 :
var contact =
{
XMLHttp : null,
XMLDoc : null,
TXTDoc : null,
getData : function(dataSource)
{
contact.XMLHttp = new XMLHttpRequest();
contact.XMLHttp.open("GET", dataSource, false);
contact.XMLHttp.onreadystatechange = contact.storeData;
contact.XMLHttp.send(null);
},
storeData : function()
{
if(contact.XMLHttp.readyState == 4 && contact.XMLHttp.status == 200)
{
contact.XMLDoc = contact.XMLHttp.responseXML;
contact.TXTDoc = contact.XMLHttp.responseText;
}
},
displayData : function(elementID)
{
if(contact.TXTDoc != null)
document.getElementById(elementID).innerHTML = contact.TXTDoc;
else{
document.getElementById(elementID).innerHTML = "can't do it";
}
}
}
는 그래서 같은 HTML 문서로 가져
<body id="para"> <script type="text/javascript"> contact.getData("http://localhost/~olatunjigbadamosi/Books/contact.txt"); contact.storeData(); contact.displayData("para"); </script>
콜백 함수에서'XMLHttp'의 응답을'XMLDoc 및 TXTDoc'에 표시하는 대신 어떻게 할 것인가? 'onreadystatechange'에 첨부 된 익명 함수에'storeData' 문을 삽입하는 방식은 효과가없는 것처럼 보입니다. – Fortisimo
'contact.XMLHttp.onreadystatechange = contact.storeData' storeData와 displayData, 즉 contact.ajaxCallback 또는 무엇인가를 호출하는 다른 메소드를 정의하십시오. –