如何在 firefox sdk 中设置请求超时设置?
How set request timeout setting in firefox sdk?
我正在尝试从 Firefox 插件发出 POST
请求
var Request = require("sdk/request").Request;
Request({
url: "http://127.0.0.1/api",
content: "test",
onComplete: function (response) {
console.error("onComplete " + response.status);
}
}).post();
但 onComplete
从未运行。我该如何解决这个问题?
设置 network.http.response.timeout = 5
无效。
你不能用插件 SDK 的东西来做到这一点。 SDK 没有 .timeout
选项。
您可以直接使用 nsIXMLHttpRequest
作为解决方法。
var {XMLHttpRequest} = require("sdk/net/xhr/");
var req = new XMLHttpRequest();
// OR
var {Cc, Ci} = require("chrome");
var req = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
.createInstance(Ci.nsIXMLHttpRequest);
// AND
req.timeout = 5;
req.addEventListener("load", ...);
req.addEventListener("timeout", ...);
req.addEventListener("error", ...);
...
我正在尝试从 Firefox 插件发出 POST
请求
var Request = require("sdk/request").Request;
Request({
url: "http://127.0.0.1/api",
content: "test",
onComplete: function (response) {
console.error("onComplete " + response.status);
}
}).post();
但 onComplete
从未运行。我该如何解决这个问题?
设置 network.http.response.timeout = 5
无效。
你不能用插件 SDK 的东西来做到这一点。 SDK 没有 .timeout
选项。
您可以直接使用 nsIXMLHttpRequest
作为解决方法。
var {XMLHttpRequest} = require("sdk/net/xhr/");
var req = new XMLHttpRequest();
// OR
var {Cc, Ci} = require("chrome");
var req = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
.createInstance(Ci.nsIXMLHttpRequest);
// AND
req.timeout = 5;
req.addEventListener("load", ...);
req.addEventListener("timeout", ...);
req.addEventListener("error", ...);
...