想要使用jQuery在json文件中写入/读取数据

时间:2015-12-07 12:09:46

标签: jquery json html5 file

我想将数据写入json文件(应该由我创建)。

此文件中允许的条目没有任何限制。另外,我想从该文件读取相同的数据&在一个HTML页面上显示它,我将从那里收集数据。

我是jQuery的新手。一些帮助会非常明显。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我可以帮助你,但请注意,这不是一个开箱即用的解决方案:

首先需要创建一个php文件来读取/写入json文件,让我们说'post_item.php':

$title = $_POST['title'];
$description = $_POST['description'];

$file = file_get_contents("your-file.json", true);

        $data = json_decode($file, true);
        unset($file);


        //the data you will write, which is coming from the ajax request
        $data[] = array(
                            'id' => uniqid(),
                            'title' => $title,
                            'description' => $description

                        );

        $result = json_encode($data);
        //echo $result;

        file_put_contents("your-file.json", true, $result);

        $result = 'Success';
        echo json_encode($result);

    } else {

        $result = 'Error';
        echo json_encode($result);
    }

您需要HTML表单才能收集和发布数据:

.....
 <div class="form-group">
    <label for="newTitle">Title: </label>
    <input id="title" name="titel" type="text" class="form-control" />
</div>
<div class="form-group">
    <label for="description">Description: </label>
    <textarea id="description" name="kort_omschrijving"  class="form-control"></textarea>
</div>
.....

您可以使用必须触发的ajax调用发布数据(例如,使用Click事件:

 var title = $('#title').val(),
            description = $('description').val()

        var postData = {
            title:  title,
            description:  description

        };


            $.ajax({
                url: 'post_item.php',
                type: 'POST',
                dataType: 'json',
                data: postData,
            })
            .done(function(result) {

                if(result == 'Success'){

                   alert('Item succesfully added')

                }else{
                    alert('Could not add the item')
                }

            })

这将在你的json文件中发布数据,你需要一个其他的php文件和另一个ajax调用才能读取文件!!如果您成功实现并将文件写入json,我将帮助您完成以下步骤