Я отправляю данные в бэкэнд. Данные включают Patent_name , возраст , date и medication_files , которые взяты из активной записи. Я поделюсь каким -нибудь кодом и скриншотом, чтобы помочь более опытным парням помочь мне. Api < /p>
import { Formik, Field, Form, FieldArray, ErrorMessage } from 'formik';
import './PrescriptionForm.scss';
import { prescriptionSchema } from '../../utils/schema';
import axios from 'axios';
import { getCookie } from '../../utils/helper/tokenHandler';
const PrescriptionForm = () => {
console.log("Debugging!!!");
const handleSubmit = async (
values: {
patientName: string;
age: number;
gender: string;
date: string;
medicationFiles: File[];
},
{ setSubmitting, resetForm }: { setSubmitting: (isSubmitting: boolean) => void; resetForm: () => void }
) => {
const token = getCookie();
const formData = new FormData();
formData.append('prescription[patient_name]', values.patientName);
formData.append('prescription[age]', values.age.toString());
formData.append('prescription[gender]', values.gender);
formData.append('prescription[date]', values.date);
console.log('Type:', typeof values.medicationFiles);
if (values.medicationFiles && values.medicationFiles.length > 0) {
values.medicationFiles.forEach((file) => {
formData.append('prescription[medication_files][]', file);
});
}
console.log('Files appended to FormData:');
Array.from(formData.entries()).forEach(([key, value]) => {
console.log(`${key}:`, value);
});
console.log('medicationFiles:', values.medicationFiles);
try {
console.log("Submitting prescription with values:", values);
console.log("Form data:", formData);
const res = await axios.post(
'http://localhost:3000/api/v1/prescriptions',
formData,
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
console.log(res);
alert('Prescription submitted successfully!');
resetForm();
} catch (error) {
console.error('Submit error:', error);
if (
typeof error === 'object' &&
error !== null &&
'response' in error &&
(error as any).response?.data?.errors
) {
alert('Submission failed: ' + (error as any).response.data.errors.join(', '));
} else {
alert('An unexpected error occurred. Please try again.');
}
} finally {
setSubmitting(false);
}
};
return (
{({ values, isSubmitting, setFieldValue }) => (
Prescription Form
Patient Name
Age
(value === '' ? 0 : Number(value))}
/>
Gender
Select
Male
Female
Other
Date
Medication File
{
const files = Array.from(e.currentTarget.files || []);
setFieldValue("medicationFiles", files);
}}
/>
Submit
)}
);
};
export default PrescriptionForm;
Подробнее здесь: https://stackoverflow.com/questions/796 ... ata-object
Одно свойство отсутствует при отправке объекта FormData ⇐ Javascript
Форум по Javascript
-
Anonymous
1749199196
Anonymous
Я отправляю данные в бэкэнд. Данные включают Patent_name , возраст , date и medication_files , которые взяты из активной записи. Я поделюсь каким -нибудь кодом и скриншотом, чтобы помочь более опытным парням помочь мне. Api < /p>
import { Formik, Field, Form, FieldArray, ErrorMessage } from 'formik';
import './PrescriptionForm.scss';
import { prescriptionSchema } from '../../utils/schema';
import axios from 'axios';
import { getCookie } from '../../utils/helper/tokenHandler';
const PrescriptionForm = () => {
console.log("Debugging!!!");
const handleSubmit = async (
values: {
patientName: string;
age: number;
gender: string;
date: string;
medicationFiles: File[];
},
{ setSubmitting, resetForm }: { setSubmitting: (isSubmitting: boolean) => void; resetForm: () => void }
) => {
const token = getCookie();
const formData = new FormData();
formData.append('prescription[patient_name]', values.patientName);
formData.append('prescription[age]', values.age.toString());
formData.append('prescription[gender]', values.gender);
formData.append('prescription[date]', values.date);
console.log('Type:', typeof values.medicationFiles);
if (values.medicationFiles && values.medicationFiles.length > 0) {
values.medicationFiles.forEach((file) => {
formData.append('prescription[medication_files][]', file);
});
}
console.log('Files appended to FormData:');
Array.from(formData.entries()).forEach(([key, value]) => {
console.log(`${key}:`, value);
});
console.log('medicationFiles:', values.medicationFiles);
try {
console.log("Submitting prescription with values:", values);
console.log("Form data:", formData);
const res = await axios.post(
'http://localhost:3000/api/v1/prescriptions',
formData,
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
console.log(res);
alert('Prescription submitted successfully!');
resetForm();
} catch (error) {
console.error('Submit error:', error);
if (
typeof error === 'object' &&
error !== null &&
'response' in error &&
(error as any).response?.data?.errors
) {
alert('Submission failed: ' + (error as any).response.data.errors.join(', '));
} else {
alert('An unexpected error occurred. Please try again.');
}
} finally {
setSubmitting(false);
}
};
return (
{({ values, isSubmitting, setFieldValue }) => (
Prescription Form
Patient Name
Age
(value === '' ? 0 : Number(value))}
/>
Gender
Select
Male
Female
Other
Date
Medication File
{
const files = Array.from(e.currentTarget.files || []);
setFieldValue("medicationFiles", files);
}}
/>
Submit
)}
);
};
export default PrescriptionForm;
Подробнее здесь: [url]https://stackoverflow.com/questions/79655629/one-property-missing-when-sending-formdata-object[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия