2017-07-02 5 views
0
$('button.red-button').on('click', function(form) 
      { 
       form.preventDefault(); 

       var obj = {}; 
       obj.id = $(this).attr('id'); 
       //var id['id'] = $(this).attr('id'); 
       alert(JSON.stringify(obj)); 
       $.ajax(
       { 
        type: 'POST', 
        dataType: 'json', 
        url: 'delete-comment', 
        data: JSON.stringify(obj), 
        success: function(data) 
        { 
         alert(data); 
        }, 
        error: function(data) 
        { 
         alert(0); 
        } 
       }); 
      }); 

これは私が作ったものです。私はボタンのidを使用するかどうかわかりませんjquery ajaxが正しくシリアル化されますが、動作しません

たとえば、我々は、このボタンを持っている

<button id="4" class="red-button">Usuń</button> 

このスクリプトは、最初の

{"id":"4"} 

に警告しますので、それはJSON形式のIDです警告します。

これは、AJAX POSTリクエストを実行してこのアイテムを削除したかったものです。

しかし

echo json_encode($this->input->post('id')); 

を実行して、PHPで私は2番目の警告でNULLました。

または

echo json_encode($_POST['id']); 

と私は私が何か間違ったことをやっているが、私は知らない第二のアラートに

を0だ... たぶんこのJSONが誤って送信され、またはJSONをビルドです誤って

+0

エンコードはJSONを作成することです、あなたはすでにJSONを持っているので、デコードする必要がありますか? – chris85

+0

encodeの代わりにechoでjson_decodeを実行した後、2番目の警告で0を返します –

+0

オブジェクトまたは配列 'print_r'を渡し、必要な要素にアクセスします。 – chris85

答えて

0
$('button.red-button').on('click', function(form) 
     { 
      form.preventDefault(); 

      var obj = {}; 
      obj.id = $(this).attr('id'); 
      //var id['id'] = $(this).attr('id'); 
      alert(JSON.stringify(obj)); 
      $.ajax(
      { 
       type: 'POST', 
       dataType: 'json', 
       url: 'delete-comment', 
       data: obj, 
       success: function(data) 
       { 
        alert(data); 
       }, 
       error: function(data) 
       { 
        alert(0); 
       } 
      }); 
     }); 

がそのようにそれを使用しIDKの、それが文字列化オブジェクトを使用せず、動作します

関連する問題