为我的角度应用程序提供客户端,这是我的代码:
app.service('client', function (esFactory) {
var elasticserver='elasticHost:9200';
return esFactory({
host: elasticserver,
log: 'warning'
});
}
);
但我的目的是动态地为此服务提供主机名和端口。
那么如何实现呢?
由于
UPADTE
服务器名称和端口存储在数据库中。 所以我试图通过http调用来获取这些值。
在代码下方。
在第6行,elasticserver变量包含servername和port的串联 但是在第11行,elasticserver变量是空的。
app.service('client', function (esFactory, $http) {
var elasticserver = "";
$http.get("angularAction").success(
function(data) {
elasticserver = data['serverName']+":"+data['port'];
alert("elasticserver : "+elasticserver);
}).error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
alert("elasticserver : "+elasticserver);
return esFactory({
host: elasticserver,
log: 'warning'
});
}
);
答案 0 :(得分:0)
如果您的代码正常运行,但您需要动态设置服务器,则可以连接主机名和端口。
let port = 9200;
let hostName = elasticHost;
app.service('client', function (esFactory) {
var elasticserver= hostName + ':' + port;
return esFactory({
host: elasticserver,
log: 'warning'
});
}
);