问题描述
如何在Dojo 1.6中检索响应头? dojo.xhr返回一个dojo.Deferred对象,当我向then()注册一个闭包时,第一个参数仅包含响应主体。我知道标题位于ioArgs属性中,但无法从闭包内部访问它。我是否以错误的方式处理此问题?
最好的祝福,
CQQL
解决方法
所以这是我使用闭包解决的方法:
var result = dojo.xhr(
\"GET\",{
url: \"http://example.com\"
}
);
result.then(function (response) {
console.log(result.ioArgs.xhr.getAllResponseHeaders());
});
但是对于干净的解决方案,ioArgs必须绝对作为响应对象的一部分传递。
, 也许您可以这样做:
var deferred = dojo.xhrGet({
url: \'myurl\',handle: function(res,io) { globalIOVar = io; }
});
deferred.then(
function(res) {
// Can access ioargs via globalIOVar...
}
);
我不认为ioArgs是作为闭包的第二个参数传递给deferred的。那么,这样做会更容易,而且更有意义。