gpt4 book ai didi

javascript - 如何获取 PHP 脚本来删除 JSON 文件中的对象?

转载 作者:太空宇宙 更新时间:2023-11-04 16:27:11 25 4
gpt4 key购买 nike

所以我有一个 HTML 文件,它通过 ajax _POST 请求动态填充 JSON 文件中的信息。

我想做的就是获取 json(只是一个简单的对象数组),通过 ajax 传递的索引号删除相应的对象,然后将 JSON 重新编码回同一个文件中。没有错误,但什么也没有发生。

谢谢!

这是我的ajax:

$(document).ajaxComplete(function(event, xhr, settings) {
var json = "data/comments.json";
$('.delete').click(function(index) {
var deleteIndex = $(this).parent().attr('id');
var deleteIndex = parseInt(deleteIndex);
$.ajax({
type: 'POST',
url: 'data/save.php', // the url where we want to POST
data: deleteIndex,
success: function(){
location.reload();
},
error: function(){
alert('Fail!');
}
});
});
});

这是我的 PHP:

<?php
$data => $_POST['deleteIndex'];
$file = file_get_contents('comments.json');
$json[] = json_decode($file, true); //return an array
foreach($json as $key => $value) {
if($value == $data) {
unset($json[$data]);
file_put_contents('comments.json', json_encode($json, JSON_PRETTY_PRINT));
}
}
?>

最佳答案

您没有设置发送到服务器的值的名称。请求中的 data 键应该是 {key:val}<​​ 对象(或 url 格式的字符串)。

    $(document).ajaxComplete(function(event, xhr, settings) {
var json = "data/comments.json";
$('.delete').click(function(index) {
var deleteIndex = $(this).parent().attr('id');
var deleteIndex = parseInt(deleteIndex);
$.ajax({
type: 'POST',
url: 'data/save.php', // the url where we want to POST
data: {'deleteIndex': deleteIndex},
success: function(){
location.reload();
},
error: function(){
alert('Fail!');
}
});
});
});

在你的 PHP 代码中,我认为这会好得多:

$data = $_POST['deleteIndex'];
$file = file_get_contents('comments.json');
$json = json_decode($file, true); //return an array

unset($json[$data]); // I guess you want to delete the value by key
file_put_contents('comments.json', json_encode($json));

关于javascript - 如何获取 PHP 脚本来删除 JSON 文件中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com