Я пытаюсь отправить сообщение в свою DynamoDB, используя реакцию, однако получаю следующую ошибку:
Access to fetch at 'https://xxxxx.execute-api.us-west-2.amazonaws.com/prod/getuserprofile' from
origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
header is present on the requested resource. If an opaque response serves your needs, set the
request's mode to 'no-cors' to fetch the resource with CORS disabled.
Сначала я проверил, работает ли этот метод с помощью лямбда-теста.
I также использовали curl -v -X OPTIONS https://xxxx.execute-api.us-west-2.amazonaws.com/prod/getuserprofile
, и его вывод был:
`< HTTP/2 200
< date:
< content-type: application/json
< content-length: 0
< x-amzn-requestid:
< access-control-allow-origin: *
< access-control-allow-headers: Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token
< x-amz-apigw-id:
< access-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT`
Однако, когда я пытаюсь отреагировать. js функция выборки, она выдает ошибку.
fetch("https://xxxx.execute-api.us-west-2.amazonaws.com/prod/getuserprofile", {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({key1: email, name, message})
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
Я пробовал чтобы добавить «режим» внутри функции выборки, но безрезультатно. Любые советы по отладке тоже действительно помогут. Спасибо.