私はFirefoxの拡張機能からAJAXリクエストを作成しようとしています。xmlhttprequestのエラーイベントにエラーメッセージはありませんか?
function GetMenu(){
var oReq = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
// Setup event handlers - must be set before calling open()
oReq.addEventListener("progress", updateProgress, false);
oReq.addEventListener("load", transferComplete, false);
oReq.addEventListener("error", transferFailed, false);
oReq.addEventListener("abort", transferCanceled, false);
oReq.open('POST', "http://www.foo.bar/", true);
oReq.send('your=data&and=more&stuff=here');
}
function transferFailed(evt) {
Application.console.log("An error occurred while transferring the file.");
Application.console.log(this.responseText);
for(var i in evt)
Application.console.log(i+ ' => '+evt[i]);
}
http://www.foo.bar/は(私は仮定)が存在しないため、要求が失敗した:私はこのコードを持っています。私の質問は、 "ドメインが存在しない"または "DNS障害"とかそのような性質の何か、というtransferFailed()に渡されたevtオブジェクトにエラーメッセージがないのはなぜですか?イベントオブジェクトのプロパティには、問題の内容、メッセージ、エラーコードなどの情報がありません。
実際のエラーの表示はありませんか?
ありますか? – Nick
あなたはmozillaだけの 'channel'属性を試すことができます。それがエラーハンドラ内で有効であれば、あなたの例では 'this.channel.status'は' Components.results.NS_ERROR_UNKNOWN_HOST'を返します。 – paa