Я создаю форму, и пользователь должен заполнить ее и отправить. После отправки данные доходят до электронной почты.
Развертывание формы осуществляется на S3. После отправки запрос переходит к функции, которая находится в лямбда-выражении. Лямбда-функция предоставляется в качестве конечной точки отдыха с использованием шлюза API.
Удар почтальоном дает успех, но когда я ударяю его браузером Chrome, он выдавал ошибку.
Доступ к XMLHttpRequest по URL-адресу конечной точки ', который получает
отправка (предоставленная lambda) 'from origin' URL веб-сайта, где submit
нажатие 'заблокировано политикой CORS: поле заголовка запроса
access-control-allow-origin не разрешен
Access-Control-Allow-Headers в предполетном ответе.
Я искал в Интернете, и везде ошибка устраняется путем добавления Access-Control-Allow-Origin в Access-Control-Allow-headers. Это в лямбде
"headers": {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': 'https://www.websiteDummy.com',
'Access-Control-Allow-Methods':'GET,HEAD,OPTIONS,POST',
'Access-Control-Allow-Headers':'Access-Control-Allow-Origin, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Headers',
"Access-Control-Allow-Credentials" : true
},
ON со стороны конца моего запроса ajax
$.ajax({
type: "POST",
crossDomain: true,
headers: { 'Access-Control-Allow-Origin': '*' },
url: "deployed URL given by lambda/beta",
data: JSON.stringify(requestJson),
dataType: "json",
contentType :"application/json",
success: function(msg){
alert("Your query is registered with us");
document.getElementById("name").value="";
document.getElementById("email").value="";
document.getElementById("remarks").value="";
}
});
Добавление скриншота вкладки сети в chrome:
Я не понимаю, в чем проблема. Будет полезно, если кто-нибудь даже укажет, в чем причина