我有一个调用 REST 服务的 angularjs 工厂服务。我的问题是目前 REST url 在工厂服务中是硬编码的。我想删除这个硬编码
(function () {
'use strict';
var auctionServices = angular.module('auctionService', ['ngResource']);
//TODO: USE BASE URL SO THAT CAN POINT TO LOCALHOST OR ACTUAL WEB SERVER
var baseUrl = "http://localhost:5037";
auctionServices.factory('auctions', ['$resource', function ($resource) {
return $resource(baseUrl + '/services/rest/auctions', {}, {
filter: {
url: baseUrl + '/services/rest/auctions?location=:location&status=:status',
isArray: true,
params: { location: '@location', status: '@status' },
withCredentials: true,
cache: false
},
我的问题是以下行
var baseUrl = "http://localhost:5037";
我需要从 web.config 设置 baseUrl 值,或者请帮助我使用任何其他更好的方法。
最佳答案
如果您的问题是将所有全局配置移动到单个文件中,您可以使用常量:创建一个 config.js 文件,如下所示:
angular.module('myApp').constant('configs', {
baseUrl: 'http://localhost:5037'
})
然后在你的工厂注入(inject)配置:
auctionServices.factory('auctions', ['$resource', 'configs', function ($resource, configs){
}
configs.baseUrl 包含您的网址
关于AngularJS 读取 web.config 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25186149/