Я пытаюсь создать конечную точку API с помощью Лямбда-функция Netlify . Код отлично работает на моем локальном компьютере, но всегда возвращает Access to XMLHttpRequest at 'https://<my-netlify-project>.netlify.com/.netlify/functions/submit' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Я пытаюсь обработать OPTIONS
и POST
в моем коде, но это не похоже на работу. Вот мой код:
const axios = require('axios');
const headers = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',
'Content-Type': 'application/json',
'Access-Control-Allow-Methods': '*',
'Access-Control-Max-Age': 2592000,
'Access-Control-Allow-Credentials': true,
};
exports.handler = (event, context, callback) => {
if (event.httpMethod === 'OPTIONS') {
callback(null, { statusCode: '204', headers });
return;
}
if (event.httpMethod === 'POST') {
callback(null, {
statusCode: 200,
body: JSON.stringify({
success: true,
}),
headers,
});
return;
}
};
И я пытаюсь вызвать его из приложения React, используя axios
, например:
axios.post('https://<my-netlify-project>.netlify.com/.netlify/functions/test', reqObj)
И я заметил, что эта ошибка появляется при вызове моей функции
10:24:58 PM: error decoding lambda response: json: cannot unmarshal number into Go value of type string
Что вызывает ошибку и как ее устранить?