私はGoogleの閉鎖ライブラリを試してよ、とthe official XhrIo guideを通じて働いていなくて閉鎖ライブラリ内の `goog.require`dオブジェクトにアクセスします。 私は、xhr-quick2.js
例といくつかのトラブルに走っ以下に再現:コンパイル
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);
}
を実行すると、私はエラーが表示されます。
Uncaught TypeError: Cannot read property 'XhrIo' of undefined
私はgetData
内にイベントリスナーとXHRのインスタンスを移動した場合関数(本体の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 です。