我正在尝试使用AJAX请求从json文件中删除值,它不会显示任何错误,但它不会删除该值,有人可以检查它吗?谢谢你!
在AJAX功能之前(用于在“擦除”上插入ID)。 (函数deletee(item)单击激活dlt函数的按钮)
JS:
function deletee(item) {
var el = document.getElementById('erase');
el.value = Checker[item].id;
var r= confirm("Do you want delete it?")
if (r==true) {
document.getElementById('rmv').click()
}
}
JS AJAX:
function dlt(item) {
var iddlt = document.getElementById('erase').value;
$.ajax({
type: 'GET',
url: 'api/delete/'+ iddlt,
dataType: 'json'
});
}
PHP:
$app->get('/delete/{id}', function (array $args) {
$jsonContents = file_get_contents('data/data.json');
$id = $args['id'];
$data_array = json_decode($jsonContents, true);
foreach ($data_array as $key => $value) {
if ($value['id'] == $id) {
unset($data_array[$key]);
}
}
$data_array = array_values($data_array);
file_put_contents('data/data.json', json_encode($data_array));
});
答案 0 :(得分:2)
将ID传递给您的函数和Ajax URL:
function dlt(item_id) {
$.ajax({
type: 'GET',
url: 'api/delete' + item_id,
dataType: 'json'
});
}
答案 1 :(得分:0)
在您的网址中添加ID,以使您的API正常运行。
function dlt() {
var id= "it should be a valid id";
$.ajax({
type: 'GET',
url: 'api/delete/'+ id,
dataType: 'json'
});
}