0
麻煩我想預先將我的<base href="...
href屬性的值預先設置爲所有獲取和發佈$http
調用。我試圖用一個請求攔截如下:AngularJS請求攔截器導致我的模板UIU查看分辨率
angular.module('curriculumModule', ['ng', 'ngRoute', 'curriculumControllerModule', 'directiveModule'])
.config(function($routeProvider, $httpProvider) {
$httpProvider.defaults.headers.common['Content-Type'] = 'application/json';
$httpProvider.defaults.headers.common['X-Ajax'] = 'true';
$httpProvider.interceptors.push(function ($q) {
return {
'request': function (config) {
config.url = $('base').attr('href') + '/' + config.url;
return config || $q.when(config);
}
};
});
$routeProvider
.when('/view/:id', {controller: 'ViewCurriculumCtrl', templateUrl: 'view.html'})
.when('/new', {controller: 'CreateCurriculumCtrl', templateUrl: 'new.html'})
.when('/edit/:id', {controller: 'EditCurriculumCtrl', templateUrl: 'edit.html'})
.when('/:curriculumId/workExperience/new', {controller: 'NewWorkExperienceCtrl', templateUrl: 'workExperiencesNew.html'})
.when('/:curriculumId/workExperience/edit/:id', {controller: 'EditWorkExperienceCtrl', templateUrl: 'workExperiencesEdit.html'})
.when('/:curriculumId/training/new', {controller: 'NewTrainingCtrl', templateUrl: 'trainingsNew.html'})
.when('/:curriculumId/training/edit/:id', {controller: 'EditTrainingCtrl', templateUrl: 'trainingsEdit.html'})
.otherwise({redirectTo:'/view/:id'});
});
然而,不知何故,AngularJs也預先考慮基地href屬性的,而我不希望templateUrls值。
我該如何預防這種情況?
嘗試$( '基地')[0] .attr( 'href' 屬性)或$( '基地')EQ(0。 ).attr('href')總而言之這是一個非常醜陋的黑客 – Whisher
嗨!我不確定我是否關注你。 jquery確實有效。問題是Angular將inteceptor應用於所有調用,包括對模板的調用,導致:'GET http:// localhost:8080/bignibou/view.html 404(Introuvable)' – balteo
抱歉,我已經快速瀏覽了一下,但是我想知道你在做什麼嗎^^ – Whisher