0

我正在使用 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 请求,我可以访问“位置”标头。

4

1 回答 1

0

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

jasmine.Ajax.requests.mostRecent().respondWith({
  "status": 200,
  "responseText": '{}',
  "getResponseHeader": function(arg) { return 'customlocation';}
});
于 2016-01-13T22:26:09.203 回答