Je permets aux utilisateurs de modifier des pages Web à l'aide de CKEditor, puis d'enregistrer leurs extraits HTML modifiés sur le serveur afin de pouvoir les afficher lors des livraisons de pages suivantes.Publication du code html en PHP à l'aide de jQuery
J'utilise ce code pour envoyer le code HTML et quelques ID au serveur:
var datatosend = JSON.stringify({ page: 1, block: 22, content: editor1.getData() });
$.ajax({
url: "/ajax/fragment/",
type: "POST",
dataType: 'json',
data: "data=" + datatosend,
success: function (html) { },
error: function (xhr, status, msg) {
alert(status + " " + msg);
}
});
Et du côté du serveur J'utilise PHP et je fais ceci:
$json = stripslashes($_POST[ "data" ]);
$values = json_decode($json, true);
Cela fonctionne la plupart du temps lorsque des extraits non HTML sont envoyés mais ne fonctionne pas lorsque quelque chose comme ceci est envoyé dans le contenu:
<img alt="" src="http://one.localbiz.net/uploads/1/Dido-3_2.JPG" style="width: 173px; height: 130px;" />
Je ne suis pas vraiment sûr de ce que je suis censé faire en termes d'encodage du côté client de données et ensuite de décodage côté serveur? Vous ne savez pas non plus si dataType: 'json' est la meilleure chose à utiliser ici?
Pourquoi faites-vous des stripslashes avant que json décode? –