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

jasmine模拟ajax调用的成功回调中没有位置头,jasmine,jasmine-ajax,Jasmine,Jasmine Ajax,我使用jasmineajax模拟ajax请求,如下所示 jasmine.Ajax.requests.mostRecent().respondWith({ "status": 200, "responseText": '{}' }); 我正在尝试获取传递给ajax成功回调的请求对象的“Location”头,如下所示: success(function(data, textStatus, request) { var url = request.getResponseHea

我使用jasmineajax模拟ajax请求,如下所示

jasmine.Ajax.requests.mostRecent().respondWith({
    "status": 200,
    "responseText": '{}'
});
我正在尝试获取传递给ajax成功回调的请求对象的“Location”头,如下所示:

success(function(data, textStatus, request) {
    var url = request.getResponseHeader('Location');
    url = url.substring(...);
}
但它返回null,并且jasmine测试失败,因为在null上调用了substring函数。我该怎么办?
注意:如果ajax请求没有被模拟,我可以访问“Location”标题。

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

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