Google 클로저 라이브러리를 실험 중이며 the official XhrIo guide을 통해 작업하고 있습니다. 내가 xhr-quick2.js
예를 몇 가지 문제로 실행, 아래의 재현 : 나는 getData
내에서 이벤트 리스너 및 XHR의 인스턴스를 이동하면컴파일하지 않고 클로저 라이브러리의 goog.required 객체에 접근하기
Uncaught TypeError: Cannot read property 'XhrIo' of undefined
: 실행하면
goog.require('goog.net.XhrIo');
var xhr = new goog.net.XhrIo();
goog.events.listen(xhr, goog.net.EventType.COMPLETE, function(e) {
obj = this.getResponseJson();
log('Received Json data object with title property of "' +
obj['title'] + '"');
alert(obj['content']);
});
function getData(dataUrl) {
log('Sending simple request for ['+ dataUrl + ']');
xhr.send(dataUrl);
}
, 나는 오류가 나타납니다 기능 (신체의 onload
이라고 부름)은 모두 정상입니다.
goog.require('goog.net.XhrIo')
function getData(dataUrl) {
var xhr = new goog.net.XhrIo()
goog.events.listen(xhr, goog.net.EventType.COMPLETE, function(e) {
obj = this.getResponseJson()
log(`Received Json data object with title property of "${ obj["title"] }"`)
alert(obj["content"])
})
log(`Sending simple request for [${ dataUrl }]`)
xhr.send(dataUrl)
}
function log(msg) {
document.getElementById('log').appendChild(document.createTextNode(msg));
document.getElementById('log').appendChild(document.createElement('br'));
}
나는
goog.require
이
goog.net.XhrIo
이 첫 번째 코드 샘플의 3 행에 인스턴스화 될 때
net
를 가져 오기가 완료되지 않았기 때문에이 가정. 이상적인 솔루션은 클로저 컴파일러를 통해 모든 코드를 실행하는 것입니다.하지만 저는 단지 입니다.
other parts of the documentation 내 워크 플로를 개발할 수 있음을 나타냅니다.
수동으로이 HTML을 제거 할 수있는 소스가 있습니까? 문제가 있습니까? 내가 취해야 할 다른 접근법이 있습니까?