如何在Dojo 1.6中检索响应标头? dojo.xhr返回一个dojo.Deferred对象,当我用then()注册一个闭包时,第一个参数只包含响应体。我知道标题位于ioArgs属性中,但我无法从闭包内部到达它。我是以错误的方式接近这个吗?
祝你好运, CQQL
答案 0 :(得分:4)
所以这就是我如何使用闭包解决它:
var result = dojo.xhr(
"GET",
{
url: "http://example.com"
}
);
result.then(function (response) {
console.log(result.ioArgs.xhr.getAllResponseHeaders());
});
但是对于一个干净的解决方案,ioArgs肯定应该作为响应对象的一部分传递。
答案 1 :(得分:1)
也许你可以这样做:
var deferred = dojo.xhrGet({
url: 'myurl',
handle: function(res, io) { globalIOVar = io; }
});
deferred.then(
function(res) {
// Can access ioargs via globalIOVar...
}
);
我不认为ioArgs作为传递给deferred.then的闭包的第二个参数传递,它会更容易,并且会更有意义。