Я пытаюсь получить доступ к Algolia REST API напрямую через запрос JavaScript fetch
. Я могу успешно сделать запрос в curl
, но при переводе на JavaScript я получаю ошибки CORS.
Это мой код:
const API_KEY = 'my_api_key';
const APP_ID = 'my_app_id';
const url = `https://${APP_ID}-dsn.algolia.net`;
const query = 'my_query';
const data = {
params: `query=${query}&hitsPerPage=1`
};
fetch(url, {
method: 'POST',
body: JSON.stringify(data),
mode: 'cors',
headers: new Headers({
'Accept': 'application/json',
'Content-Type': 'application/json; charset=UTF-8',
'X-Algolia-API-Key': API_KEY,
'X-Algolia-Application-Id': APP_ID
})
}).then(res => res.json())
.catch(error => console.error('Error:', error))
.then(response => console.log('Success:', response));
А это ошибки CORS:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://my_app_id-dsn.algolia.net/. (Reason: CORS request external redirect not allowed).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://my_app_id-dsn.algolia.net/. (Reason: CORS preflight channel did not succeed).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://my_app_id-dsn.algolia.net/. (Reason: CORS request did not succeed).
Я чувствую, что что-то действительно очевидное мне не хватает. Любая помощь будет принята с благодарностью.
Спасибо!