将附加数据放入 $routeProvider templateUrl 请求
Putting additional data to $routeProvider templateUrl request
我想添加一些 headers 到获取模板的请求中,这样我就可以拒绝 non-angularjs 请求并返回错误。
然而,似乎只有使用 $http
才有可能,重新实现类似于 templateUrl
提供的机制似乎是一种可怕的浪费。
这是我的示例路由器:
siteApp.config([ '$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.when('/user', {
controller : 'UserController',
}).when('/link', {
templateUrl : '/user/index.json'
});
$locationProvider.html5Mode(true);
} ]);
编辑:如果有帮助,我正在尝试让我的 ZendFramework2 API 检测它,但它无法识别 XmlHttpRequest
我建议您在 angular 的 run
阶段加载这些模板。
它将被放入 $templateCache
提供程序中,当您第二次请求相同的模板时,它将直接从 $templateCache
本身获取。
代码
//get the templates with headers in application run phase.
app.run(['$templateCache', '$q', '$http', function($templateCache, $q, $http) {
var promises = [];
$http.get('partials/views/template1.html', {
headers: {
'Content-Type': undefined //here you can add multiple header and get the template
},
cache: $templateCache
});
$http.get('partials/views/template2.html', {
headers: {
'Content-Type': undefined //here you can add multiple header and get the template
},
cache: $templateCache
});
}]);
希望对您有所帮助。谢谢
我想添加一些 headers 到获取模板的请求中,这样我就可以拒绝 non-angularjs 请求并返回错误。
然而,似乎只有使用 $http
才有可能,重新实现类似于 templateUrl
提供的机制似乎是一种可怕的浪费。
这是我的示例路由器:
siteApp.config([ '$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.when('/user', {
controller : 'UserController',
}).when('/link', {
templateUrl : '/user/index.json'
});
$locationProvider.html5Mode(true);
} ]);
编辑:如果有帮助,我正在尝试让我的 ZendFramework2 API 检测它,但它无法识别 XmlHttpRequest
我建议您在 angular 的 run
阶段加载这些模板。
它将被放入 $templateCache
提供程序中,当您第二次请求相同的模板时,它将直接从 $templateCache
本身获取。
代码
//get the templates with headers in application run phase.
app.run(['$templateCache', '$q', '$http', function($templateCache, $q, $http) {
var promises = [];
$http.get('partials/views/template1.html', {
headers: {
'Content-Type': undefined //here you can add multiple header and get the template
},
cache: $templateCache
});
$http.get('partials/views/template2.html', {
headers: {
'Content-Type': undefined //here you can add multiple header and get the template
},
cache: $templateCache
});
}]);
希望对您有所帮助。谢谢