Ajax/prototype.jsで同期通信

prototype.js 1.4でのAjax同期取得

 あぁ、なんだ。XMLHttpRequestオブジェクトのresponseXMLを読めば良かったのか。
で、XMLHttpRequestオブジェクトはtransportを見ればいいのね。

var myAjax = new Ajax.Request(
  url,
  {
    method: 'post',
    parameters: params,
    asynchronous: true,
    onComplete: function(originalRequest) {
      var respXml = originalRequest.responseXML;
      …
    }
  }
);

これが、

var myAjax = new Ajax.Request(
  url,
  {
    method: 'post',
    parameters: params,
    asynchronous: false
  }
);
var respXml = myAjax.transport.responseXML;

こう。

onCompleteの中身を出すだけでほぼ完了。onComplete自体は書いてあっても呼ばれないっぽい。

onLoading: function() {
  alert('onLoading');
},
onCreate: function() {
  alert('onCreate');
},

これらも実行されず。まぁ、しょうがない。


新しく会社作りました!

コメントをどうぞ