Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从JSON数组中删除元素_Javascript_Php_Jquery_Arrays_Json - Fatal编程技术网

Javascript 从JSON数组中删除元素

Javascript 从JSON数组中删除元素,javascript,php,jquery,arrays,json,Javascript,Php,Jquery,Arrays,Json,我试图从JSON数组中删除一个元素。当用户单击删除按钮时,操作开始。我不知道怎么了。可能是PHP脚本中的某些内容 javascript.js $(".delete").on('click', function(e){ var deleteItem = e.target.id; console.log(deleteItem); $(this).closest('div').css({"text-decoration": "line-through",

我试图从JSON数组中删除一个元素。当用户单击删除按钮时,操作开始。我不知道怎么了。可能是PHP脚本中的某些内容

javascript.js

$(".delete").on('click', function(e){
        var deleteItem = e.target.id;
        console.log(deleteItem);
        $(this).closest('div').css({"text-decoration": "line-through", "color": "#e74c3c"}).fadeOut(600);
        $.ajax({
            url: 'deletejson.php',
            method: 'POST',
            dataType: 'json',
            data: { target: e.target.id},
            success: function(){
                console.log('Item was deleted');
                console.log(data);
            }
        });       
data.json

{ "prescriptions":[  
  {  
     "name":"Edogen",
     "unit":"drops",
     "dosage":"2 drops",
     "doc_name":"Dr. Wu",
     "apperance":"black",
     "days":"Monday",
     "frequency":"twice",
     "hour":"1pm"
  },
  {  
     "name":"Lexapro",
     "unit":"drops",
     "dosage":"2 drops",
     "doc_name":"Dr. Wu",
     "apperance":"black",
     "days":"Sunday",
     "frequency":"twice",
     "hour":"1pm"
  },
  {  
     "name":"Plavix",
     "unit":"drops",
     "dosage":"4 drops",
     "doc_name":"Dr. Ammy Lee",
     "apperance":"blue",
     "days":"Monday",
     "frequency":"twice",
     "hour":"10pm"
      } 
   ]}
deletejson.php

<?php

$var = $_POST["target"];
$file = "json/data.json";

$json_array = json_decode(file_get_contents($file), true);


function removeNode($var, $json_array) {
    foreach($json_array["prescriptions"] as $key => $value) { 
      if($value === $var)  
        unset($json_array["prescriptions"][$key]);           
    }

    $json = json_encode($json);      
    file_put_contents($file, $json);
}

?>

尝试将foreach循环替换为以下内容:

foreach($json_array["prescriptions"] as $values) { 
  foreach($values as $key => $value) { 
    if($value === $var){  
      unset($json_array["prescriptions"][$key]);
    }
  }          
}

尝试用以下内容替换foreach循环:

foreach($json_array["prescriptions"] as $values) { 
  foreach($values as $key => $value) { 
    if($value === $var){  
      unset($json_array["prescriptions"][$key]);
    }
  }          
}

您是通过ajax调用获取变量中的数据吗?php日志是怎么说的?javascript控制台是否给出任何错误?是。在代码的另一部分中,我调用data.No。在javascript console.log中,一切似乎都正常。我没有看到您在php文件中调用“removeNode”函数。您是否通过ajax调用获取变量中的数据?php日志怎么说?javascript控制台是否给出任何错误?是。在代码的另一部分中,我调用data.No。在javascript console.log中,一切似乎都正常。我从未看到您在php文件中调用“removeNode”函数。