我正在从 Firefox 扩展发出 AJAX 请求。我有这个代码:
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/不存在(我假设)。我的问题是,为什么在传递给 transferFailed() 的 evt 对象中没有错误消息显示“域不存在”或“DNS 故障”或类似的东西?事件对象的所有属性都没有任何迹象表明问题是什么,没有消息,没有错误代码等。
不应该有某种迹象表明实际错误是什么?