-1

私のアドオンでは、常に new XMLHttpRequest () を使用していましたが、完全に機能しました。これで、すべてのリクエスト ajax が機能しなくなりました。

現在、新しい XMLHttpRequest () が次のエラーを引き起こしています: ReferenceError: XMLHttpRequest が定義されていません

だから私は自分のコードを次のように変更しました:

try {
    var XMLHttpRequest;
    if (typeof(XMLHttpRequest) == "undefined")
        XMLHttpRequest = content.XMLHttpRequest;
}
catch (e) {
    alert(e);
}
var xmlhttp = new XMLHttpRequest();
...

リクエストが正常に機能する場合もありますが、機能しない場合もあります。

コード「alert(e);」実行されない場合、エラーはありません。

なぜうまくいくときとうまくいかないときがあるのか​​理解できません。以前はvar xmlhttp = new XMLHttpRequest();のみを使用していました。そして常に働いていました。

新しい ajax リクエストを作成するにはどうすればよいですか?

4

1 に答える 1

1

As I said in a comment, when you are running in the context of a browser window (like code loaded by an overlay to that window) then XMLHttpRequest should definitely be available. I verified that just in case and it works for me.

But in case everything else fails you can still instantiate the XPCOM component corresponding to XMLHttpRequest directly:

var xmlhttp = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
                        .createInstance(Components.interfaces.nsIXMLHttpRequest);
xmlhttp.open(...);
于 2012-09-07T07:32:03.047 に答える