Je ne comprend pas trop pk tu base64_encode après serialize
Bonjour,
Est-ce qu'il y a une limite à un JSON que l'on balance d'un serveur A à un serveur B ?
je balance un json en ajax
d'un serveur A via une SPA Angular JS pour créer une sauvegarde que j'encode en 64+serialize sur un serveur B avec cakephp en backoffice.
Quand je souhaite l'afficher dans mon backoffice j'ai
C'est la première fois que j'ai ce type d'erreur.
Quand je regarde de plus près j'ai l'impression que mon serialize est coupé et donc je me demande si c'est pas la taille de mon JSON envoyé ?
le Json envoyé contient des éléments comme ci-dessous
j'ai remarqué qu'a partir de 125 élément, sa plante
Peut-on encode le json avant l'envoie ?
Merci
5 réponses
Hey Grafikart,
Alors lors de l'enregistrement je serialize et ensuite j'encode
Puis lors de la récupération de donnés , je decode pour unserialisé
D'habitude je save directement mon serialize en BDD mais justement j'ai vu sur le net qu'en fesant un decode64 on palier le problème que je rencontre c'est à dire => unserialize(): Error at offset 49147 of 49151 bytes
source = http://davidwalsh.name/php-serialize-unserialize-issues
Oups désolé j'ai voulu vulgariser en pensant que cela était plus compréhensible...
je reprends:
Pourquoi tu utilises serialize alors que tu travailles avec du JSON ? JSON est déjà un format serialisé. Pourquoi tu ne restes pas avec JSON ?
Maintenant que tu le dit ... c'est pour enregistrer les datas dans ma BDD mais je pense que l'on peut save directement le JSon ?
EDIT
Je viens de faire un test mais c'est que lorsque je balance mon json cela devient un tableau de l'autre coté d'ou mon serialize
Après tu parles de transfert AJAX entre 2 serveurs, ce qui ne veut rien dire
Ce que je veux direc'est que je travaille sur une SPA - AngularJS hébergé sur un serveur A, cette application travaille avec du json.
La sauvegarde se fait via un appel ajax qui envoie les données sur un serveur B avec un backoffice dev avec CakePhp
Sinon ton problème fait penser à un problème d'encodage
Je reste convaincu que c'est un problème de taille, j'ai effectué plusieurs test arrivé à 120 élément dans mon json, mon backoffice ne lit plus les données et affiche
mais c'est aussi peut etre un problème d'encodage ;)
Pour l'exemple des datas
Le json créé par l'appli SPA
la save en bdd
serialisé + encode 64
le debug() sur Cake
si je dépasse 120 élément sa plante d'ou mon idée que le Json est peut etre trop grand pour passer par http...
J'ai trouvé...
Erreur de débutant, c'est bien un problème lors de la save mon type de champs dans ma BDD est 'text' et forcement je dépasse le quota...
Je viens de mettre MEDIUMTEXT pour éssayer et cela fonctionne
Question ? je viens de voir sur un post que l'on conseille de mettre BLOB pour ce type de champs ? c'est quoi ?
merci pour vos retours :)
BLOB c'est un format qui vas transformer ta data en format binaire