4

我正在学习如何使用 sinon.js。我可以伪造普通的 AJAX,但我需要请求图像并且我没有得到 xhr.response(它是未定义的)。如何使用 sinon.js 来伪造图像的响应?

var url = 'http://www.google.com.hk/logos/2013/antoni_gauds_161st_birthday-1539005.2-  hp.jpg';
server.respondWith("GET", url, [200, {}, '']);
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.addEventListener('load', function() {
//this.response is undefined
})
xhr.send(null);

我怎样才能伪造这个图像请求?

4

1 回答 1

0

I think an idea:

describe('...',function(){
    var xhr;
    before(function(){
       xhr = sinon.useFakeXMLHttpRequest();
       xhr.onCreate = function (x) {
      console.log(x)
       };
       //....
    }
    after(function(){
      xhr.restore();
    });
    it('....',function(){
       xhr.prototype.response = new ArrayBuffer(1024)
       // ... 
    });
}
于 2013-06-25T10:36:18.240 回答