En JSON et json_decode en PHP et JavaScript

Je suis en train de passer un objet JavaScript à un script PHP par jquery.ajax(), en gros:

var bigArray = new Object();
//Dode
//Start loop
bigArray[x] = {name: exname, id: exID, order:e, set: setBox, inc: incBox, example: exampleBox, day: i};

De sorte qu'il est à peu près un tableau de ces objets.

    var anotherTest = $.toJSON(bigArray);
    var ajxFile = "routineajax.php";
    $.ajax({
        type: 'POST',
        processData: false,
        url: ajxFile,
        data: anotherTest,
        success: function(data) {
            $('#result').html(data);
            alert('Load was performed.');
        }
    });
});

Le PHP script côté

 print_r($_POST);
 $params = json_decode($_POST);
 print_r($params)

De l'appel Ajax est en train de vivre, et je peux voir dans Firebug, mais print_r($_POST) retourne un tableau vide. Alors que si je le change pour $_GET dans les deux $.ajax fonction et le script PHP, il fonctionne. Mon principal problème est que je reçois ce message d'erreur:

Avertissement: la fonction json_decode() s'attend à ce paramètre 1 pour être string, array donné dans

Comment puis-je résoudre ce problème?


Après l'ajout de ce fragment de code au fichier PHP

  $data = file_get_contents('php://input');
  var_dump($data);
  var_dump(json_decode($data));

Je suis de cette sortie

string'{"0"{"name":"Decline`Abs","id":"54","order":0,"set":"","inc":"","example":"","day":1}}' (length=87)`
  object(stdClass)[2]
      public '0' =>
        object(stdClass)[4]
          public 'name' => string 'Decline Abs' (length=11)
          public 'id' => string '54' (length=2)
          public 'order' => int 0
          public 'set' => string '' (length=0)
          public 'inc' => string '' (length=0)
          public 'example' => string '' (length=0)
          public 'day' => int 1

Donc au moins ça va, je ne suis pas sûr de savoir comment y accéder, un pas dans la bonne direction!

Pouvez-vous modifier votre question avec les résultats de faire print_r($_GET). Je vois que vous avez ci-dessous, mais il n'est pas clair pour moi.

OriginalL'auteur mike | 2010-03-03