我是新的angularJS。 我使用我项目中的服务拨打了超过10 $ http的请求。 下面给出了一个服务代码。
loginApp.factory('serviceAuth', function($http) {
return {
fnLoginAuth : function(aut,resp){
return $http({
method: 'GET',
url: 'http://localhost:8080/myProjectname/serviceName',
}).success(function(result) {
return result;
});
}
}
});
我希望 http://localhost:8080/myProjectname/
这部分网址是可配置的,或使用变量代替此网址。
答案 0 :(得分:1)
在我用 AngularJS 编写的应用程序中,我只是将变量放在$rootScope
中。
app.run(['$rootScope',
function($rootScope) {
$rootScope.serverRoot = '/projectname/public';
}
]);
并将其附加到服务中。
this.addTask = function(data) {
return $http.post($rootScope.serverRoot + '/task/create', data);
}
答案 1 :(得分:0)
为什么不添加另一个返回基本URL的服务?
app.factory('urlService', function() {
var url = "";
return {
setUrl : function(newUrl){
url = newUrl;
},
getUrl : function(){
return url;
}
}
});
并像这样使用它:
app.run(function(urlService) {
urlService.setUrl('http://localhost:8080/myProjectname/');
})
loginApp.factory('serviceAuth', function($http, urlService) {
return {
fnLoginAuth : function(aut,resp){
return $http({
method: 'GET',
url: urlService.getUrl() + 'serviceName',
}).success(function(result) {
return result;
});
}
}
});