在jasmine模拟ajax调用的成功回调中没有位置标头

时间:2016-01-12 06:35:33

标签: jasmine jasmine-ajax

我正在使用jasmine-ajax模拟ajax请求,如下所示

jasmine.Ajax.requests.mostRecent().respondWith({
    "status": 200,
    "responseText": '{}'
});

我正在努力获得“地理位置”。传递给ajax成功回调的请求对象的头,如下所示:

success(function(data, textStatus, request) {
    var url = request.getResponseHeader('Location');
    url = url.substring(...);
}

但它返回null并且jasmine测试失败,因为在null上调用substring函数。我该怎么办? 注意:我可以访问'位置'如果ajax请求没有被模拟,那么标题就好了。

1 个答案:

答案 0 :(得分:0)

您可以将该函数添加到要返回的对象中:

jasmine.Ajax.requests.mostRecent().respondWith({
  "status": 200,
  "responseText": '{}',
  "getResponseHeader": function(arg) { return 'customlocation';}
});