Как добавить запись на json файл?
form.addEventListener("submit", async (e) => { e.preventDefault(); const formData = new FormData(form); const name = formData.get("name"); form.reset(); let user = { name: name, }; let res = await fetch("http://127.0.0.1:5500/data.json", { method: "POST", headers: { "Content-Type": "application/json; charset=UTF-8", }, body: JSON.stringify(user), }); let result = res.json(); alert(result); }); |
form.addEventListener("submit", async (e) => { e.preventDefault(); const formData = new FormData(form); const name = formData.get("name"); form.reset(); let user = { name: name, }; let res = await fetch("http://127.0.0.1:5500/data.json", { method: "POST", headers: { "Content-Type": "application/json; charset=UTF-8", }, body: JSON.stringify(user), }); let result = res.json(); alert(result); });
При отправке POST запроса получаю 405статус. Что я делаю не так?
Дополнительно:
1. вы забыли код сервера
2. let result = await res.json()
Ответы:
Что я делаю не так?
Пытаетесь решить проблему сервера на клиенте, да ещё и не анализируя логи.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для добавления записи в JSON файл с помощью PHP, вам понадобится использовать следующие шаги:
1. Откройте файл для записи данных. Для этого можно воспользоваться функцией `fopen` с режимом `a+`, который открывает файл для записи в конец файла. Например:
$file = fopen('data.json', 'a+');
2. Считайте содержимое файла в переменную. Для этого используйте функцию `file_get_contents`. Например:
$data = file_get_contents('data.json');
3. Преобразуйте содержимое файла из JSON в массив. Для этого используйте функцию `json_decode`. Например:
$array = json_decode($data, true);
4. Добавьте новую запись в массив. Например:
$newData = ['name' => 'John', 'age' => 30]; $array[] = $newData;
5. Преобразуйте массив обратно в JSON формат. Для этого используйте функцию `json_encode`. Например:
$newJsonData = json_encode($array);
6. Запишите новые данные обратно в файл. Например:
file_put_contents('data.json', $newJsonData);
Теперь у вас должна быть новая запись в JSON файле. Не забудьте проверить права доступа к файлу для записи и обработать возможные ошибки, например, проверка на успешное открытие файла и успешную запись данных.