一応、jQuery の ajaxa で動作確認できました。
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<script>
var request = {
query : {
match: {
text: "セキュリティ"
}
}
}
// url, typeは適切な値に書き換えてください
$.ajax({
url: 'http://localhost:9201/fess.suggest/doc/_search?',
type: 'POST',
data: JSON.stringify( request ),
dataType: "json",
contentType: "application/json"
})
.done(function( data, textStatus, jqXHR ) {
// 通信が成功した時の処理、span#messageへの値設定処理を記述する
alert( "success!!");
console.log( data );
})
.fail(function( jqXHR, textStatus, errorThrown ) {
// 通信が失敗した時の処理、通信失敗のメッセージ表示などを行う
alert('error!!!');
console.log( jqXHR );
});
</script>
javascript だと
<script>
var data = {"query":{"match":{"text":"セキュリティ"}}}; // POSTメソッドで送信するデータ
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.withCredentials = true;
xmlHttpRequest.onreadystatechange = function()
{
var READYSTATE_COMPLETED = 4;
var HTTP_STATUS_OK = 200;
if( this.readyState == READYSTATE_COMPLETED
&& this.status == HTTP_STATUS_OK )
{
// レスポンスの表示
alert( this.responseText );
}
}
xmlHttpRequest.open( 'POST', 'http://localhost:9201/fess.201908232316/doc/_search' );
// サーバに対して解析方法を指定する
xmlHttpRequest.setRequestHeader( 'Content-Type', 'application/json' );
// データをリクエスト ボディに含めて送信する
xmlHttpRequest.send( data );
</script>
こんな感じだと思うのですが、CORS で動作確認できませんでした。