2

このonclickイベント内からgoog.net.XhrIoを呼び出しています

goog.events.listen(invBtn, goog.ui.Component.EventType.ACTION,
        function(e) {

   goog.net.XhrIo.sent('http://remotehost.com:8080/customer/add');
 (update :typo here send instead of sent )

これは私が達成したい非常に基本的なタスクですが、この呼び出しはサーバーにも到達しません。また、URLをgoog.Uriとして渡してみましたが、役に立ちません。何がサーバーへのこの呼び出しを停止しているのだろうか、ホスト名とIPアドレスの両方を試しましたが、どちらも役に立ちません。何もしません。

この呼び出しがサーバーに到達することさえできない理由を確認するために私ができることはありますか?

ヘルプに感謝します

エディよろしく

4

1 に答える 1

2

plovr構成ファイルで、警告レベルを次のように設定しますVERBOSE

// config.js
{{
  "パス": "js"、
  「モード」:「高度」、
  "レベル":"詳細"
}

警告を有効にして、プログラムを実行するとVERBOSE、次の警告が表示されます。

JSC_INEXISTENT_PROPERTY:送信されたプロパティがgoog.net.XhrIoで定義されていません...
goog.net.XhrIo.sent('http://remotehost.com:8080/customer/add');
^

に変更goog.net.XhrIo.sent();してみてくださいgoog.net.XhrIo.send();

さらに、次のようにコールバック関数をXhrIosend関数に渡すことができます。

goog.net.XhrIo.send('http://remotehost.com:8080/customer/add', function(e) {    
  var xhr = /** @type {goog.net.XhrIo} */ (e.target);
  alert(xhr.getResponseText());
});

もう1つの一般的なパターンは、xhrオブジェクトを作成し、イベントリスナーを登録することです。

var xhr = new goog.net.XhrIo();
goog.events.listenOnce(xhr, goog.net.EventType.COMPLETE, function(e) {
  var xhr = /** @type {goog.net.XhrIo} */ (e.target);
  alert(xhr.getResponseText());
  xhr.dispose(); // Dispose of the XHR if it is not going to be reused.
});
xhr.send('http://remotehost.com:8080/customer/add');

参考文献

クロージャ:決定的なガイド、第7章:クライアント/サーバー通信

于 2012-07-04T22:15:55.153 に答える