Я пытаюсь использовать свой собственный API от axios, однако я получаю ошибку доступа
outputs:1 Access to XMLHttpRequest at VM416:1 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.10.10:9200/outputs/_search?source=%7B%22query%22:%7B%22match_all%22:%7B%7D%7D%7D&source_content_type=application%2Fjson with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
Я использую усадьбу.
При посещении API из браузера я получаю ожидаемые результаты (url - http://192.168.10.10:9200/outputs/_search?source=%7B%22query%22:%7B%22match_all%22:%7B%7D%7D%7D&source_content_type=application%2Fjson)
Если я показываю заголовки из chrome на странице с ошибкой, это заголовки.
Provisional headers are shown
Accept: application/json, text/plain, */*
Origin: http://192.168.10.10
Referer: http://192.168.10.10/outputs
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Я добавил CORS вasticsearch.yml
Elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
http.cors.allow-methords : OPTIONS, HEAD, GET, POST, PUT, DELETE
Метод запроса есть.
Vue.js
<script>
import axios from 'axios';
import { loadProgressBar } from 'axios-progress-bar'
import 'axios-progress-bar/dist/nprogress.css'
loadProgressBar();
const query = {
query: {
"match_all": {}
}
};
export default {
data: function() {
return {
outputs: []
}
},
mounted() {
axios.get('http://192.168.10.10:9200/outputs/_search', {
params: {
source: JSON.stringify(query),
source_content_type: 'application/json'
}
}).then((res) => {
console.log(res);
});
axios.get('/api/output')
.then((response) => {
this.outputs = response.data;
console.log('Outputs loaded')
})
.catch((err) => {
console.log(err);
});
},
}
</script>
Ожидаемый возврат - API
Добавлена информация
- Код статуса ответа 200 OK
Request URL: http://192.168.10.10:9200/outputs/_search?source=%7B%22query%22:%7B%22match_all%22:%7B%7D%7D%7D&source_content_type=application%2Fjson
Request Method: GET
Status Code: 200 OK
Remote Address: 192.168.10.10:9200
Referrer Policy: no-referrer-when-downgrade
Еще одна ошибка в консоли.
Access to XMLHttpRequest at 'http://192.168.10.10:9200/outputs/_search?source=%7B%22query%22:%7B%22match_all%22:%7B%7D%7D%7D&source_content_type=application%2Fjson' from origin 'http://192.168.10.10' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
app.js:1455 Uncaught (in promise) Error: Network Error
at createError (app.js:1455)
at XMLHttpRequest.handleError (app.js:990)
И, насколько я могу судить, заголовка ответа на звонок нет?