#javascript #reactjs #api #gatsby
Вопрос:
Я отправляю данные формы, используя это:
const { SiteClient } = require("datocms-client")
const client = new SiteClient("APIKEYREMOVED")
export default async function createRecord(fields) {
console.log('@submit function ',fields)
const record = await client.items.create(fields)
console.log(record)
}
Это информация об ошибке, но я не могу понять, в чем дело.
Функция отправки дескриптора формы успешно вызывает createRecord() со страницы формы. Таким образом, проблема, по-видимому, связана с предоставленным фрагментом.
Я получил указанный фрагмент отсюда: DatoCMS создает запись простой пример
Ответ №1:
Я думаю, что вам не хватает связи между вашей формой и моделью содержимого в DatoCMS. Согласно документам:
Предположим, что наш проект содержит модель «Собака» (идентификатор: 1234, ключ API: собака) со следующими полями:
Ключ API поля Тип поля Имя Однострочная строка разводить Однострочная строка Описание Текст из нескольких абзацев возраст Целое число const { SiteClient } = require("datocms-client"); const client = new SiteClient("YOUR-API-TOKEN"); async function createRecord() { const record = await client.items.create({ itemType: "1234", // model ID name: "Gigio", breed: "Labrador", description: "Very friendly and calm.nI love it.", age: 4, }); console.log(record); } createRecord();
В вашем случае кажется, что вы не соответствуете itemType
идентификатору модели , как следует из вывода promise в вашем console.log
.
Комментарии:
1. Да, это и есть ответ. Я совершенно упустил из виду необходимость сообщить клиенту, что такое идентификатор модели. Чтобы уточнить, это был цифровой идентификатор, указанный в DatoCMS в правом верхнем углу окна информации о модели светло-серого цвета, а не название модели системы.