Dou*_*eri 4 firefox-addon firefox-addon-sdk
我正在使用附加的sdk构建一个firefox附加组件.我需要向某个页面发出http请求,我想处理连接超时但在api中找不到任何内容:https://addons.mozilla.org/en-US/developers/docs/sdk/latest /modules/sdk/request.html
我实际看的是在客户端无法连接到服务器的情况下进行回调.
有没有办法实现这个目标?
onComplete当考虑完成网络请求时,SDK请求将始终调用.这意味着onComplete在任何情况下都会调用,无论请求是返回错误还是成功.
为了检测你得到的错误,你需要检查Response对象(传递给onComplete函数的对象)属性"status"(response.status).它包含请求的状态代码.要查找状态代码,请考虑mozilla开发人员网络上的列表.如果响应状态为0,则请求已完全失败,并且用户可能处于脱机状态,或者无法访问目标.
超时可以是状态代码504或0.实现类似于:
var Request = require("sdk/request");
Request({
url: "http://foo.bar/request.target",
onComplete: function(response) {
if(response.status==0||response.status==504) {
// do connection timeout handling
}
// probably check for other status codes
else {
// assume the request went well
}
}
}).get();
Run Code Online (Sandbox Code Playgroud)
我个人在请求对象上使用验证函数,它返回一个数字,该函数取决于我是否有正确的响应,来自Web服务器的错误或连接问题(4xx和0状态代码).
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |