使用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
相关产品推荐
相关产品推荐

