Я не могу выполнить запрос на создание данных формы с помощью функции netlify в моем приложении angular
Я пытаюсь применить этот урок https://www.netlify.com/blog/2018/07/09/building-serverless-crud-apps-with-netlify-functions--faunadb/ в моем проекте с angular7 front.
моя функция netlify:
/* code from functions/todos-create.js */
import faunadb from 'faunadb' /* Import faunaDB sdk */
/* configure faunaDB Client with our secret */
const q = faunadb.query
const client = new faunadb.Client({
secret: process.env.FAUNADB_SECRET
})
/* export our lambda function as named "handler" export */
exports.handler = (event, context, callback) => {
/* parse the string body into a useable JS object */
const data = JSON.parse(event.body)
console.log("Function `todo-create` invoked", data)
const todoItem = {
data: data
}
/* construct the fauna query */
return client.query(q.Create(q.Ref("classes/todos"), todoItem))
.then((response) => {
console.log("success", response)
/* Success! return the response with statusCode 200 */
return callback(null, {
statusCode: 200,
body: JSON.stringify(response)
})
}).catch((error) => {
console.log("error", error)
/* Error! return the error with statusCode 400 */
return callback(null, {
statusCode: 400,
body: JSON.stringify(error)
})
})
}
мой сервис:
import { Injectable } from '@angular/core';
import { Mission } from 'src/app/shared/models';
@Injectable({
providedIn: 'root'
})
export class MissionService {
public mission = new Mission();
myTodo = {
title: 'My todo title',
completed: false,
};
constructor() { }
createTodo(data) {
return fetch('/.netlify/functions/todos-create', {
body: JSON.stringify(data),
method: 'POST'
}).then(response => {
return response.json();
});
}
}
, как того требует учебник, я добавляю это в конец своего пакета. Json:
"proxy": {
"/.netlify/functions": {
"target": "http://localhost:4200",
"pathRewrite": {
"^/\\.netlify/functions": ""
}
}
}
но с "http://localhost:4200" адресом для угловых я предположил
Я применяю createTodo при нажатии на кнопку формы, но:
" Ошибка ОШИБКИ: "Uncaught (в обещании): SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 1 данных JSON "в firefox
AND
" Запрос от ::ffff: 127.0.0.1: POST / todos-create Ответ с состоянием 500 в 12 мс. Ошибка при вызове: Ошибка типа: n не является функцией "в консоли
решение здесь: https://github.com/netlify/netlify-lambda/issues/64