AngularJS请求拦截器对我的templateUrl视图解析造成问题

AngularJS请求拦截器对我的templateUrl视图解析造成问题,angularjs,angularjs-routing,angularjs-http,Angularjs,Angularjs Routing,Angularjs Http,我想预先添加我的的值,angular也使用$http服务加载模板,所以这就是拦截器损坏模板URL的原因。我强烈建议您以不同的方式修改URL——在调用$http服务之前,而不是作为拦截器 一个简单的包装器服务应该可以做到这一点,比如: angular.module('curriculumModule').service('curHttp', ['$http', function($http) { this.http = function(params) { params.url

我想预先添加我的
的值,angular也使用$http服务加载模板,所以这就是拦截器损坏模板URL的原因。我强烈建议您以不同的方式修改URL——在调用$http服务之前,而不是作为拦截器

一个简单的包装器服务应该可以做到这一点,比如:

angular.module('curriculumModule').service('curHttp', ['$http', function($http) {

   this.http = function(params) {
     params.url = $('base').attr('href') + '/' + params.url;
     return $http(params);

}]);

尝试使用$('base')[0].attr('href')或$('base').eq(0).attr('href')总之,这是一个非常难看的hackHi!我不确定我是否在跟踪你。jquery确实有效。问题是Angular将inteceptor应用于所有调用,包括对模板的调用,从而导致:̀
GEThttp://localhost:8080/bignibou/view.html 404(可插入)
抱歉,我快速看了一下,但我想知道你到底在做什么^^它正在做它应该做的事情。也许可以将ajax请求的基本url存储在javascript变量中。谢谢Geoff。你的解决方案很好。我最初的问题实际上是处理不断变化的上下文路径。我想避免硬编码。。。
angular.module('curriculumModule').service('curHttp', ['$http', function($http) {

   this.http = function(params) {
     params.url = $('base').attr('href') + '/' + params.url;
     return $http(params);

}]);