Ok, donc voici mon code JS/jQuery, mon fichier rate.php a simplement un print_r($_POST)
en elle. Le problème est, le $_POST
accepte rated
comme la chaîne "Array"
, plutôt que le tableau réel comme je l'ai défini. Comment puis-je corriger ce code afin que PHP reconnaisse l'entrée JSON comme un tableau approprié, plutôt qu'une chaîne?POST, AJAX, et PHP: soumission JSON
var rated = {"key" : key , "value" : value};
$.ajax({
type: "POST",
url: $(location).attr('protocol') + "//" + $(location).attr('hostname') + "/ajax/rate.php",
data: {
"rated" : rated
},
success: function(data) {
alert(data);
}
});
Tel est le message de sortie Je reçois:
Tableau ( [mot] => array )
Erreur fatale: peut être passée par référence Seules les variables dans .../ajax/rate.php sur la ligne X
EDIT: Il y a en fait plus de variables qui rated
, mais aucun d'entre eux sont des tableaux (il n'y a donc pas un problème avec eux), alors je les ai coupé du code ci-dessus pour cause de brièveté.
javascript données d'objet au serveur et vice versa (pour traduire des tableaux PHP en objets JavaScript valide à l'aide de json_encode de PHP()) Il y a en fait plus les variables qui ont été évaluées, mais aucune d'entre elles ne sont des tableaux (il n'y a donc pas de problème avec elles), donc je les ai supprimées du code ci-dessus pour des raisons de concision. – Matt
@Matt, alors quelles sont les données de demande attendez-vous? Parce que non, vous passez le paramètre 'rated' avec la valeur' {"key": key, "value": value} 'et HTTP ne supporte pas l'imbrication des paramètres. –