jQuery AJAX Aufruf von PHP Script mit JSON Return

Ich habe meinen Kopf damit gegen eine Mauer geschlagen. Ich habe eine Menge Lösungen für Stackoverflow ausprobiert, kann aber keine finden, die funktioniert!

Grundsätzlich gibt PHP beim POST meines AJAX JSON zurück, aber das AJAX zeigt Undefined anstelle des Wertes an:

JS:

  /* attach a submit handler to the form */
  $("#group").submit(function(event) {

  /* stop form from submitting normally */
  event.preventDefault();

  /*clear result div*/
  $("#result").html('');

  /* get some values from elements on the page: */
  var val = $(this).serialize();

  /* Send the data using post and put the results in a div */
  $.ajax({
      url: "inc/group.ajax.php",
      type: "post",
      data: val,
  datatype: 'json',
      success: function(data){
            $('#result').html(data.status +':' + data.message);   
            $("#result").addClass('msg_notice');
            $("#result").fadeIn(1500);           
      },
      error:function(){
          $("#result").html('There was an error updating the settings');
          $("#result").addClass('msg_error');
          $("#result").fadeIn(1500);
      }   
    }); 
});

PHP:

  $db = new DbConnector();
  $db->connect();
  $sql='SELECT grp.group_id, group_name, group_enabled, COUNT('.USER_TBL.'.id) AS users, grp.created, grp.updated '
        .'FROM '.GROUP_TBL.' grp '
        .'LEFT JOIN members USING(group_id) '
        .'WHERE grp.group_id ='.$group_id.' GROUP BY grp.group_id';

    $result = $db->query($sql);     
    $row = mysql_fetch_array($result);
    $users = $row['users'];
    if(!$users == '0'){
        $return["json"] = json_encode($return);
        echo json_encode(array('status' => 'error','message'=> 'There are users in this group'));
    }else{

        $sql2= 'DELETE FROM '.GROUP_TBL.' WHERE group_id='.$group_id.'';
        $result = $db->query($sql2);

        if(!$result){
            echo json_encode(array('status' => 'error','message'=> 'The group has not been removed'));
        }else{
            echo json_encode(array('status' => 'success','message'=> 'The group has been removed'));
        }
    }

JSON Ergebnis von Firebug:

{"status":"success","message":"success message"}

AJAX Zeigt das JSON-Ergebnis als undefiniert an, und ich habe keine Ahnung, warum. Ich habe versucht, das Hinzufügen anzuzeigendataType='json' unddatatype='json'. Ich habe auch versucht, es zu änderndata.status unddata['status']: immer noch keine Freude.

Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage