You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP和jQuery更新JSON文件值失败的技术问题

JSON文件值无法更新问题

我在更新JSON文件中的值时遇到问题,参考多篇相关教程后仍未解决。当前console.log可正常输出状态,JSON文件初始内容为[{"maintenance_status":"off"}],PHP代码能读取文件且Ajax请求可收到正确响应,但JSON文件的实际值并未更新,相关信息如下:

参考资料

  • How to update/edit a JSON file using PHP
  • Add, Update, Delete and Read JSON Data/File in PHP
  • Modifying a JSON file with PHP

控制台截图

控制台输出

JSON文件(路径:../assets/data/maintenance.json)

[
    {
        "maintenance_status":"off"
    }
]

PHP文件(路径:file_update.php)

<?php
$data = file_get_contents('../assets/data/maintenance.json');  // 能正常读取文件
$json_arr = json_decode($data, true);

$newValue = $_POST['newValue'];
foreach ($json_arr as $key => $value) {
    $json_arr[$key]['maintenance_status'] = $newValue;
}

file_put_contents('../assets/data/maintenance.json', json_encode($json_arr));
echo json_encode($json_arr); // jQuery成功回调中能收到[{"maintenance_status":"on"}]的响应
?>

jQuery代码

$('.maintenance-toggle').on('click', function(){
    $('.maintenance-toggle').toggleClass('on');
    if ($('.maintenance-toggle').hasClass('on')){
        console.log('on'); // 第84行
        updateValue("on");
    }
    else if ($('.maintenance-toggle').hasClass('off')){
        console.log('off'); // 第88行
        updateValue("off");
    }
});

function updateValue(newValue) {
    console.log(newValue); // 第98行
    $.ajax({
        url : '../src/files/file_update.php',
        type : 'POST',
        data: { 
            newValue: newValue
        },
        cache: false,
        success: function(response){
            console.log(response); // 能收到PHP的echo结果,但JSON文件值没更新
        },
        error: function(e){

        }
    });
}

内容的提问来源于stack exchange,提问作者mastersuse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:35:25