检索Dojo 1.6中的响应标头
问题描述:
如何检索Dojo 1.6中的响应标头? dojo.xhr返回一个dojo.Deferred对象,当我使用then()注册一个闭包时,第一个参数只包含响应主体。我知道这些头文件在ioArgs属性中,但我无法从封闭内部到达它。我是否以错误的方式接近了这个?检索Dojo 1.6中的响应标头
最好的问候, 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.then的第二个参数,它会更容易,并且会更有意义。
我在Firebug上检查过'ioArgs'并且没有响应标题的对象:\。仅供参考我正在运行Dojo 1.7 – 2012-12-11 21:21:45