Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在FirefoxSDK中设置请求超时设置?_Javascript_Firefox_Firefox Addon_Timeout_Firefox Addon Sdk - Fatal编程技术网

Javascript 如何在FirefoxSDK中设置请求超时设置?

Javascript 如何在FirefoxSDK中设置请求超时设置?,javascript,firefox,firefox-addon,timeout,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Timeout,Firefox Addon 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从不运行。我怎

我正试图从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
从不运行。我怎样才能解决这个问题?
Set
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", ...);
...

请注意,而不是
require(“chrome”)您也可以使用。