php - 使用 jquery post 更新 .json 文件到 php 文件

标签 php jquery ajax json

我对 PHP 编程非常陌生,我正在尝试使用 PHP 到 .json 文件实现以下结构;

{

  "1": {
    "number": "4",
    "color": "black"
  },
  "2": {
    "number": "0",
    "color": "green"
  }

}

我想做的是,当我使用“add.php”文件将数据发布到此时。它将更新 .json 文件,如下所示;

{

  "1": {
    "number": "4",
    "color": "black"
  },
  "2": {
    "number": "0",
    "color": "green"
  },
  "3": {
    "number": "12",
    "color": "red"
  }


}

“数字”和“颜色”来 self 使用 jQuery 从 index.php 发布的帖子;

$('#add_outcome').on('submit',function (e) {    
    e.preventDefault();

    $.ajax({
        url: 'add.php',
        cache: false,
        type: 'POST',
        data : {
            "number" : $('#add_outcome select').val(),
            "color" : $('#add_outcome #color_info').val()
        },
        success: function(json) {
            console.log("Done, data sent");             }
    });
});

是否可以用 PHP 更新这种结构?如果无法计算下一个“ID”,在我的示例中为 1、2、3 等(通过提交增加),我可以从索引 PHP 发布数据。

现在对我来说最重要的是熟悉如何使用 PHP 更新这种结构。

JSON 数据来自文件,其路径为“json/outcome.json”。

最佳答案

将此代码添加到您的 add.php 文件中

<?php
$json_array = json_decode(file_get_contents('json/outcome.json'), true);

$json_array[] = array('number' => $_POST['number'], 'color' => $_POST['color']);
file_put_contents('json/outcome.json', json_encode($json_array));
?>

关于php - 使用 jquery post 更新 .json 文件到 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22812075/

相关文章:

jquery - 如何使用 js 或 jQuery 与 iframe 的内容进行交互

javascript - 如何从异步调用返回响应?

php - preg_replace_callback 错误中的正则表达式。 PHP

PHP fatal error : Class 'Collator' not found despite PHP 5. 3.24

javascript - 如何使用 jQuery 创建基于 HTML 输入的动态 NxM 表?

jquery - 使用回调函数...Jquery .Get

javascript - 需要帮助使用 XMLHttpRequest 将 blob 从 MySql 传输到 Javascript

javascript - 中断 PHP 脚本从 Javascript/AJAX 执行大型 mysqli 查询

php - Laravel 在响应前保持打印 4 个空格

php - 如何使用 php 和 css3 包含响应式 header