在Dojo 1.6中检索响应头

时间:2011-06-13 20:32:39

标签: javascript header dojo xmlhttprequest

如何在Dojo 1.6中检索响应标头? dojo.xhr返回一个dojo.Deferred对象,当我用then()注册一个闭包时,第一个参数只包含响应体。我知道标题位于ioArgs属性中,但我无法从闭包内部到达它。我是以错误的方式接近这个吗?

祝你好运, CQQL

2 个答案:

答案 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的闭包的第二个参数传递,它会更容易,并且会更有意义。