@kr_ilya

Как записать данные в json файл из формы с помощью Ajax?

Делаю инструмент, так сказать для себя, будет юзаться на OpenServer.
Мне нужно через форму заносить данные в json файл. Он имеет такой вид
[
    ["11.09.2018",222],
    ["12.09.2018",392],
    ["13.09.2018",485],
    ["14.09.2018",449],
    ["15.09.2018",449],
    ["16.09.2018",449],
    ["17.09.2018",449],
    ["18.09.2018",449]
]

В форме 2 поля: дата и число.
Как реализовать все это через ajax, чтобы новые записи добавлялись именно в таком формате и в конец файла?
  • Вопрос задан
  • 2423 просмотра
Решения вопроса 1
TommyV888
@TommyV888
-
Учитывая что вы сказали про openServer, я подозреваю что backend у вас будет на php.
1. Создаете форму
<form action="#" id="test">
    <input type="date" name="date">
    <input type="number" name="num">
    <input type="submit">
</form>

2. Отправляете ее через ajax
$(function(){

    $('#test').on('submit', function(){

        let data = $(this).serialize();

        $.ajax({
            method: 'POST',
            url: 'test.php',
            data: data
        }).done(function( msg ){
            console.log( msg );
        });

        return false;
    });
});

3. Дописываете данные в json файл
$file = file_get_contents('data.json');
$list = json_decode($file,TRUE); 
unset($file);
$list[] = [ $_POST['date'], $_POST['num'] ];
file_put_contents('data.json',json_encode($list));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы