如何获得PHP脚本删除JSON文件中的对象
How to get PHP script to delete an object in JSON file?
所以我有一个HTML文件,它动态地填充了来自JSON文件的信息,带有ajax _POST请求。
我所要做的就是抓取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));
相关文章:
- 仅使用文件对象选择单个文件
- S3文件上传文件对象使用节点js
- 如何打开文件对象(HTML)并在谷歌应用程序脚本中解析它
- Grunt 可以直接从文件对象/数组或 glob 中的“src”值通过 HTTP 加载远程文件
- 如何使用springmvc控制器通过ajax sumbit传递文件对象
- Javascript;HTML文件API-基于文件对象的javascript对象是否仍然包含文件'的位置
- 如何获取上传的SVG文件对象的内容
- 存储/检索 html 5 文件对象,用于恢复损坏的文件上传
- 在浏览器上传后操作文件对象的正文
- 如何将 Base64 字符串转换为 javascript 文件对象,就像从文件输入表单一样
- 将图像对象转换为文件对象,javascript
- 覆盖 JavaScript 文件对象
- 如何将 Javascript 文件对象 + 数据发送到 MVC 6 控制器 - ASP.NET 5.
- 如何将图像源绑定到角度文件对象
- 如何使用angularjs或jquery将每个点击的按钮操作保存在json文件/对象中
- 通过在javascript中提供硬编码路径来获取文件对象
- 文件对象错误
- 将文件对象从Javascript传递到Web API
- 如何从phonegap的html5输入字段文件对象获取路径
- 在以下场景中,如何使代码可用于多个文件文件对象