2016-03-26 12 views
2

JSON配列から要素を削除しようとしています。アクションは、ユーザーが削除ボタンをクリックすると開始します。私は何が間違っているのか理解できません。たぶん、それはPHPスクリプト上の何かです。JSON配列の要素を削除する

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); 
} 

?> 
+0

あなたはajax呼び出しで変数にデータを取得していますか? – NomanJaved

+0

PHPログは何を表していますか? javascriptコンソールにエラーがありますか? – Torchify

+0

はい。コードの別の部分で私はデータを呼び出します。 – tcosta

答えて

0

は、以下を使用して、foreachループを交換してみてください:

foreach($json_array["prescriptions"] as $values) { 
    foreach($values as $key => $value) { 
    if($value === $var){ 
     unset($json_array["prescriptions"][$key]); 
    } 
    }   
} 
関連する問題