В настоящее время я работаю над поисковым вводом, который будет запрашивать базу данных пользователей AWS. Клиент предоставил мне конечную точку cloudsearch, и все отлично работает в почтальоне, возвращая правильного пользователя с 200.
Однако в моем приложении create-реагировать, используя хуки, мой запрос на выборку возвращает следующее .. ..
от источника 'http://localhost: 3000 ' заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: у него нет HTTP ok status.
Мой запрос на выборку ниже ...
const getUsers = async (query) => {
const results = await fetch(`https://search-****-*****.eu-west1.cloudsearch.amazonaws.com/2013-01-01/search?q=${query}`, {
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
}
})
const userData = await results.json()
return userData.results
}
У меня есть плагин CORS chrome, который включен, но, похоже, ничего не меняет , Я хочу убедиться, что могу разрешить запрос, обеспечивая безопасность моего вызова API.
Буду признателен за любой совет.
Спасибо!
РЕДАКТИРОВАТЬ
Добавлено на сервере express на порту 3005, а затем заменить это в моем запросе на выборку ...
app.get('/search', function(req, res, query){
request(`https://search-***-***.eu-west-1.cloudsearch.amazonaws.com/2013-01-01/search?q=`, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body);
res.send(body);
}
});
});
, а затем обновить мой запрос на выборку следующим образом ...
const getUsers = async (query) => {
const results = await fetch(`http://localhost:3005/search` + `${query}`)
const userData = await results.json()
console.log(results);
return userData.results
}
Однако, хотя этот подход работает, если запрос жестко запрограммирован в файле express, он возвращает пустой ответ, если запрос передается на стороне выборки. Есть ли необходимость в дальнейшей настройке?
Это вывод результатов в консоли
type: "cors"
url: "http://localhost:3005/search?un"
redirected: false
status: 200
ok: true
statusText: "OK"
headers: Headers {}
body: (...)
bodyUsed: true
__proto__: Response