gpt4 book ai didi

javascript - AngularJS : $httpBackend. when() 使用 url 的方法

转载 作者:行者123 更新时间:2023-11-29 18:14:46 28 4
gpt4 key购买 nike

我正在尝试根据 angular docs 设置和模拟 $httpBackEnd 以用于 e2e 测试目的.我想在请求模板时传递所有请求。从文档中,它说 url 参数可以是三种类型 string function(string)RegExp 和它的描述:

HTTP url or function that receives the url and returns true if the url match the current definition.

我想做什么

我希望所有 GET 请求到 direct/views/....pub/views/....PassThrough()

我尝试过的

var devApp = angular.module('app-dev', ['app', 'ngMockE2E']);

devApp.run(function($httpBackend){

var isTemplateUrl = function(url){
if(url === '/direct/views/_shell/shell' || url === '/direct/views/_shell/shell') {
return true;
}
return false;
};
// Manually setting the url works
// $httpBackend.whenGET('/direct/views/_shell/shell').passThrough();
// $httpBackend.whenGET('/direct/views/home/home').passThrough();

// Does not work
$httpBackend.whenGET(isTemplateUrl).passThrough();
});

放入字符串有效,但尝试使用该函数无效。

RegExp 可能是最快的方法,但我对此一无所知。如果您想给我一个有效的 RegExp,我将永远感激不已。

我知道我的 isTemplateUrl 函数并不完全符合我的要求,但除此之外,它应该仍然适用于这两个 url。

最佳答案

实现您想要做的事情的正则表达式是:

/(direct|pub)\/views\/.*$/

关于javascript - AngularJS : $httpBackend. when() 使用 url 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24166884/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com