var xhr=new XMLHttpRequest();
xhr.open('GET','example.php');
xhr.myVar=0;
xhr.onreadystatechange=function(){
this.myVar=this.responseText.length;
var s=this.readyState+":"+this.myVar+":"+this.responseText;
document.getElementById('x').innerHTML=s;
};
이 스크립트는 웹 페이지 (및 <p id="x"></p>
)에 있습니다. onreadystatechange
함수에 사용할 변수를 첨부하고 싶습니다. (실제 코드에서는 분명히 여기보다 더 흥미로운 부분이 있습니다.)XMLHttpRequest에 변수를 연결하는 최선의 방법은 무엇입니까?
시도해 본 브라우저에서 정상적으로 작동하지만 긴장됩니다. 내가 따라야하는 대회가 있습니까? 예 : 맞춤 변수 앞에 밑줄을 붙이거나 그런 식으로?
다른 말로하면 구성원 변수를 연결하는 것이 정확하다고 느낍니다. 주된 대안은 전역 변수를 사용하는 것입니다.이 변수는 전혀 마음에 들지 않습니다 (페이지에 두 개의 XMLHttpRequest 객체가있을 수 있습니다).
감사 아룬 :
그냥 구현을 증명하기 위해. 'this.myVar = ...'또는'myVar = ... '의 오자였습니까? –클로저를 사용하고 싶다면'this.myVar'가 아닙니다. 클로저를 사용하려면'var myVar = 0; '이어야합니다. –
Arun, 내 뜻은 : onreadystatechange()의 첫 번째 줄은'this '부분과 같습니다. 오타가있어'myVar = this.responseText.length;'를 읽어야합니다. (그러나 나는 당신의 의도를 오해했을 때를 대비해 답을 편집하고 싶지 않고 오타가 아닙니다.) –