基本上我要做的是为所有$ http服务器请求(服务器URL)设置前缀。我试图使用拦截器,但问题是这也会影响模板请求:
$httpProvider.interceptors.push(function ($q) {
return {
'request': function (request) {
request.url = "http://localhost/"+request.url;
return request || $q.when(request);
}
}
});
=>
XMLHttpRequest cannot load http://localhost/templates/main.html
我考虑过使用我自己的提供程序(例如$ myHttp)来继承$ http,但我不知道如何做到这一点。
那么对此有什么好处?
答案 0 :(得分:1)
如果所有模板都在templates
目录中,您可以忽略拦截器中的模板。
$httpProvider.interceptors.push(function ($q) {
return {
request: function (request) {
if (request.url.indexOf('templates') === -1) {
request.url = "http://localhost/" + request.url;
}
return request || $q.when(request);
}
}
});