2012-03-25 24 views
0

私はajaxでPHPにデータを送信しようとしましたが、奇妙な間違いがあります。ajaxでPHPにデータを送信する - 内部サーバーエラー(500)

これは私のAjaxのスクリプトで、

function deleteData2() 
{ 
    var artistIds = new Array(); 

    $(".p16 input:checked").each(function(){ 
     artistIds.push($(this).attr('id')); 
    }); 


$.post('/json/crewonly/deleteDataAjax2', 
     { json: JSON.stringify({'artistIds': artistIds}) }, 
     function(response){ 
     alert(response); 
}); 


} 

私は、これが正常に動作すると思いますが、PHP側では、私は、(500)500内部サーバーエラーに直面しています。

public function deleteDataAjax2() { 

      $json = $_POST['json']; 
      $data = json_decode($json); 
      $artistIds = $data['artistIds']; 

       $this->sendJSONResponse($artistIds); 
    } 

上記のコードは、私のPHPです。例えば、私はアヤックスに$データを送信しようとすると、 私はJSONモードでの私のIDを印刷:

enter image description here

私はアヤックス側に$ artistIdsを送信しようとすると、しかし、私は500エラー理由を与えますか?

+2

Webサーバーのエラーログを確認すると、500エラー。 –

+0

注意:未定義インデックス:json理由:S – user1277467

+0

'$ _REQUEST ['json']' – Dutchie432

答えて

3

たSelam :)

は、右のようになります。json_decode()

public function deleteDataAjax2() { 
    $json = $_POST['json']; 
    $data = json_decode($json, true); 
    $artistIds = $data['artistIds']; 

    $this->sendJSONResponse($artistIds); 
} 

表情。これを配列として使用する場合は、に設定する必要があります。それ以外の場合は$data->{'artistIds'};を使用してください。

+1

目次:D – user1277467

+0

日曜日 – ahmet2106

0

このようなことを試してみてください。

$.getJSON('/json/crewonly/deleteDataAjax2', 
     { 'artistIds' : artistIds }, 
     function(response){ 
     alert(response); 
}); 

public function deleteDataAjax2() { 

     $json = $_REQUEST['artistIds']; 
     $data = json_decode($json); 
     var_dump($data);die(null); 
} 
+0

:未定義インデックス:artistIds:D – user1277467

関連する問題