簡體   English   中英

如何通過使用AJAX和PHP進行迭代將JSON數據保存到新的JSON文件中?

[英]How to save JSON data to new JSON file through iterating using AJAX and PHP?

我有一個帶有邊欄的簡單電影編輯器,用戶只需將其拖放到右側,用戶便可以根據需要編輯該元素並將數據保存到JSON,我希望當用戶單擊以保存它時,應該創建一個新文件並將新數據保存到其中。

到目前為止,這是我所擁有的

HTML

        <div class="col-2 save-details">
          <div id="save-block">
            <button type="button" class="btn btn-success btn-save">Save</button>
          </div>
        </div>

這是保存文件的js

var moviesblocks =null;

$(document).ready(function(){

$.getJSON('moviesblocks.json', function (data) {

    moviesblocks = data.moviesblocks;
    console.log(moviesblocks);

});

$("#main-btn-save").on("click", function () {

    var moviesparams = JSON.stringify({
        moviesblocks: moviesblocks
    });

    $.ajax({
            type: 'POST',
            data: {
                moviesparams: moviesparams
            },
            url: 'save_movies_block.php',
            success: function (data) {
                    $('#msg').html(data).fadeIn('slow');
                    $('#msg').delay(2000).fadeOut('slow');
            },
            error: function () {
                    $('#error-msg').html(data).fadeIn('slow');
                    $('#error-msg').delay(2000).fadeOut('slow');
            }
    });

    console.log(moviesparams);
});

})

這是處理文件的php文件

<?php
if(isset($_POST['moviesparams'])){
    $moviesparams = json_decode($_POST['moviesparams']);
    // do whatever checks you need on $moviesparams to verify valid data
    $success = file_put_contents("moviesblocks.json", json_encode($moviesparams));
    if($success === false){
        echo "sorry , something is wrong";
        die();
    }else{
        echo "Data successfully saved";
        die();
    }
} else {
    echo "nic";
}

$data=file_get_contents("data.json");
$result=json_decode($data);
?>

如您現在所見,用戶單擊后將其保存到該文件

moviesblocks.json

現在我想要當用戶單擊“保存”時,它應該保存到新文件中,例如moviesblocks1.json而不是moviesblocks.json。

這是現場演示現場演示

我怎樣才能實現自己想要的?

如果您不想使用數據庫,則需要再創建一個文件來維護文件版本號。 每次您想要創建新文件時,請從此version.txt文件中獲取最新版本號,並將其附加到文件名中。 例如:moviesblocks1.json,moviesblocks2.json。

創建新文件后,請從version.txt更新版本。 這將幫助您下次創建新的版本號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM