[英]Login HTTP client by JavaScript form to ElasticSearch (readonlyrest)
我想通過HTTP(安裝了readonlyrest插件)登錄到我的ElasticSearch。
¿是否可以使用HTML表單和JavaScript(角度)代碼來完成此操作?
<form class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-2" for="email">Username:</label>
<div class="col-sm-10">
<input class="form-control" ng-model="username" placeholder="Enter username">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Password:</label>
<div class="col-sm-10">
<input type="password" class="form-control" placeholder="Enter password" ng-model="password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" ng-click="login()">Submit</button>
</div>
</div>
</form>
登錄代碼(我要將登錄信息保存在瀏覽器中以備將來使用):
$scope.login = function(){
console.log("Login: ", $scope.username, $scope.password)
var clientId = "sample";
var clientSecret = "sample";
var authorizationBasic = window.btoa(clientId + ':' + clientSecret);
var request = new XMLHttpRequest();
request.open('POST', "https://localhost:5601/omu/elasticsearch/_msearch", true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('Authorization', 'Basic ' + authorizationBasic);
request.setRequestHeader('Accept', 'application/json');
request.send("username=sample&password=sample&grant_type=password");
request.onreadystatechange = function () {
if (request.readyState === 4) {
alert(request.responseText);
}
}}
謝謝
如果您使用的是基本身份驗證,請嘗試在路徑中包含憑據
GET http:// 用戶:密碼 @elastichost:9200 / endpoint
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.