JQuery --> getJSON() - Taille maximum du JSON ?

Le
Groquik
Hello !

Je viens de constater un problème plutôt embarrassant :
J'utilise la méthode getJSON() de JQuery, qui fonctionne bien sauf
quand le JSON retourné est trop gros !

En effet, dès que les données retournées atteignent un certain nombre de
Ko, je vois correctement la réponse dans Firebug (en-tête "Réponse"),
correctement formaté en JSON, mais ma fonction de callback n'est pas
appelée :-(

En revanche, tout se passe à merveille quand la réponse est plus petite.
J'ai cherché mon problème sur plein de forums, mais sans trouver mon
problème.

Quelqu'un peut-il m'apporter ses lumières ?

Merci par avance ;-)
@++

Groquik
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickaël Wolff
Le #21393251
Groquik a écrit :

En effet, dès que les données retournées atteignent un certain nombre de
Ko, je vois correctement la réponse dans Firebug (en-tête "Réponse"),
correctement formaté en JSON, mais ma fonction de callback n'est pas
appelée :-(



Quel est le code ?


En revanche, tout se passe à merveille quand la réponse est plus petite.
J'ai cherché mon problème sur plein de forums, mais sans trouver mon
problème.



Il y a des limites à tout :) Mais le problème peut venir de tellement
d'endroits qu'il faut du code. Et surtout, il faut qu'on ai les données
qui aboutissent au problème.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Groquik
Le #21395731
Le 17/03/2010 19:22, Mickaël Wolff a écrit :
Groquik a écrit :

En effet, dès que les données retournées atteignent un certain nombre
de Ko, je vois correctement la réponse dans Firebug (en-tête
"Réponse"), correctement formaté en JSON, mais ma fonction de callback
n'est pas appelée :-(



Quel est le code ?



Pour expliquer brièvement le but de l'application, le code permet
d'appeler des options d'une voiture qu'on a précédemment sélectionnée
dans le formulaire. Une fois le JSON appelé, la fonction ci-dessous
affiche dans le code HTML les options de la voiture sélectionnée :
Le code de ma fonction JS qui appelle le JSON est le suivant :

//-------------------------------------------------------
function getOption(){
$("#divbutton").css("display","block");

$.getJSON( "/ajax/options/",

{ id_version: document.cote.finition.value },
function(datas){

if (datas) {

var html = '<table>';

if (datas['option'].length > 0) {
html += '<tr>';
html += ' <td colspan="3">Options :</td>';
html += '</tr>';
for(var i=0; i<datas['option'].length; i++){
html += '<tr>';
html += ' <td><input type="checkbox"
name="option[]"
value="'+datas['option'][i]["id_equipement"]+'|'+datas['option'][i]["prix_ttc"]+'"></td>';
html += ' <td
colspan="2">'+datas['option'][i]["equipt_text"]+'</td>';
//html += '
<td>'+datas['option'][i]["prix_ttc"]+'</td>';
html += '</tr>';
}
} else {
html += '<tr>';
html += ' <td>Aucune options disponible pour la
séléction</td>';
html += '</tr>';
}
/*
if (datas['serie'].length > 0) {
html += '<tr>';
html += ' <td colspan="3">Equipements de série
:</td>';
html += '</tr>';
for(var i=0; i<datas['serie'].length; i++){
html += '<tr>';
html += ' <td
colspan="3">'+datas['serie'][i]["equipt_text"]+'</td>';
html += '</tr>';
}
}
*/
html += '</table>';

$("#divopt").html(html);

} else alert("La requête à la base de données n'a pu
aboutir.");
}
);
}
//-------------------------------------------------------

Voilà... Pour rappel le code JSON est bien retourné (voir ce code tout
en bas). Mais avec mon exemple JSON ci-dessous, ma fonction de callback
n'est pas appelée.




En revanche, tout se passe à merveille quand la réponse est plus
petite. J'ai cherché mon problème sur plein de forums, mais sans
trouver mon problème.



Il y a des limites à tout :) Mais le problème peut venir de tellement
d'endroits qu'il faut du code. Et surtout, il faut qu'on ai les données
qui aboutissent au problème.




Voici le code JSON retourné, qui fait que ma fonction callback n'est pas
appelée, merci pour votre aide :

{"option":[{"type_equipement":"1","id_equipement":"114506219","type_package":"0","prix_ht":"0.00","prix_ttc":"0.00","id_texte_equipement":"72502","equipt_text":"Kit
non fumeur","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur
&
extu00720069eur","equipment_type":"option"},{"type_equipement":"1","id_equipement":"114506216","type_package":"0","prix_ht":"0.00","prix_ttc":"0.00","id_texte_equipement":"72497","equipt_text":"Omission
sigle","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506233","type_package":"0","prix_ht":"183.95","prix_ttc":"220.00","id_texte_equipement":"72530","equipt_text":"Autoradio
BMW
Professional","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506234","type_package":"0","prix_ht":"367.89","prix_ttc":"440.00","id_texte_equipement":"72531","equipt_text":"Changeur
6
CD","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506265","type_package":"0","prix_ht":"125.42","prix_ttc":"150.00","id_texte_equipement":"82518","equipt_text":"Connectivitu0020tendue
pour lecteur audio de tu006cphone
portable","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506118","type_package":"1","prix_ht":"2500.00","prix_ttc":"2990.00","id_texte_equipement":"91447","equipt_text":"Pack
Ru0066rences","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option","package":"72514,71646,77613","package_labels":"1.
Systu006d0065 d'aide au stationnement PDC AR 2. Systu006d0065 de
navigation Professional 3. Teinte de carrosserie
mu00740061llisu00650020","package_labels_list":["Systu006d0065 d'aide
au stationnement PDC AR","Systu006d0065 de navigation
Professional","Teinte de carrosserie
mu00740061llisu00650000"]},{"type_equipement":"2","id_equipement":"114506184","type_package":"0","prix_ht":"50.17","prix_ttc":"60.00","id_texte_equipement":"65918","equipt_text":"Pru00700061ration
pour changeur de
CD","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506182","type_package":"2","prix_ht":"543.48","prix_ttc":"650.00","id_texte_equipement":"65532","equipt_text":"Pru00700061ration
pour tu006cphones portables avec interface
Bluetooth","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506232","type_package":"0","prix_ht":"234.11","prix_ttc":"280.00","id_texte_equipement":"72528","equipt_text":"Pru00700061ration
tu006cphone","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506228","type_package":"0","prix_ht":"234.11","prix_ttc":"280.00","id_texte_equipement":"72524","equipt_text":"Ru00670075lateur
de
vitesse","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506225","type_package":"2","prix_ht":"384.62","prix_ttc":"460.00","id_texte_equipement":"72514","equipt_text":"Systu006d0065
d'aide au stationnement PDC
AR","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506269","type_package":"0","prix_ht":"652.17","prix_ttc":"780.00","id_texte_equipement":"88415","equipt_text":"Systu006d0065
d'aide au stationnement PDC AV et
AR","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506287","type_package":"0","prix_ht":"267.56","prix_ttc":"320.00","id_texte_equipement":"93114","equipt_text":"Systu006d0065
d'aide au stationnement PDC AV et AR ( en relation avec Pack
Ru0066rence)","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506194","type_package":"0","prix_ht":"351.17","prix_ttc":"420.00","id_texte_equipement":"70659","equipt_text":"Systu006d0065
de commande
vocale","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506231","type_package":"0","prix_ht":"250.84","prix_ttc":"300.00","id_texte_equipement":"72527","equipt_text":"Systu006d0065
de commande vocale (en combinaison avec systu006d0065 de navigation
Business et pru00700072ation pour tu006cphone portable
Bluetooth)","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506202","type_package":"2","prix_ht":"1672.24","prix_ttc":"2000.00","id_texte_equipement":"71645","equipt_text":"Systu006d0065
de navigation
Business","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506203","type_package":"2","prix_ht":"2341.14","prix_ttc":"2800.00","id_texte_equipement":"71646","equipt_text":"Systu006d0065
de navigation
Professional","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506252","type_package":"0","prix_ht":"877.93","prix_ttc":"1050.00","id_texte_equipement":"77786","equipt_text":"Systu006d0065
de navigation Professional (en relation avec Pack
Business)","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506129","type_package":"0","prix_ht":"877.93","prix_ttc":"1050.00","id_texte_equipement":"97981","equipt_text":"Systu006d0065
haut-parleurs Hi-Fi
Harman/Kardon","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506130","type_package":"0","prix_ht":"418.06","prix_ttc":"500.00","id_texte_equipement":"98022","equipt_text":"Systu006d0065
haut-parleurs Hi-Fi Harman/Kardon (en combinaison avec Pack
Buisiness)","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506201","type_package":"2","prix_ht":"459.87","prix_ttc":"550.00","id_texte_equipement":"71643","equipt_text":"Systu006d0065
hauts parleurs Hi-Fi 10
HP","gpe_id":"00770011","gpe_libelle":"Audio/communication/instruments","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506197","type_package":"0","prix_ht":"668.90","prix_ttc":"800.00","id_texte_equipement":"71567","equipt_text":"Crochet
d'attelage de remorquage avec rotule
amovible","gpe_id":"00770014","gpe_libelle":"Charger/tracter/transport","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506244","type_package":"0","prix_ht":"108.70","prix_ttc":"130.00","id_texte_equipement":"77761","equipt_text":"Filet
de su00700061ration du
coffre","gpe_id":"00770014","gpe_libelle":"Charger/tracter/transport","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506251","type_package":"0","prix_ht":"158.86","prix_ttc":"190.00","id_texte_equipement":"77782","equipt_text":"Sac
u00200073kis","gpe_id":"00770014","gpe_libelle":"Charger/tracter/transport","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506220","type_package":"0","prix_ht":"146.32","prix_ttc":"175.00","id_texte_equipement":"72505","equipt_text":"Accoudoir
central AV","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur
&
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506230","type_package":"0","prix_ht":"50.17","prix_ttc":"60.00","id_texte_equipement":"72526","equipt_text":"Appuie-tu00740065
AR rabattables","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506289","type_package":"0","prix_ht":"501.67","prix_ttc":"600.00","id_texte_equipement":"93124","equipt_text":"Climatisation
automatique bi-zone (ru0067006cages
su00700061ru00730020gauche/droite, capteur d'humiditu002c0020capteur
d'ensoleilement, filtre u00200063harbon actif et microfiltre, nouvelle
touches "All" permettant le contru006c00650020des differents zones
par un seul bouton)","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506229","type_package":"0","prix_ht":"192.31","prix_ttc":"230.00","id_texte_equipement":"72525","equipt_text":"Kit
Eclairage","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506222","type_package":"0","prix_ht":"117.06","prix_ttc":"140.00","id_texte_equipement":"72508","equipt_text":"Kit
rangement","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506186","type_package":"0","prix_ht":"75.25","prix_ttc":"90.00","id_texte_equipement":"66376","equipt_text":"Pare-brise
u00200062andeau pare-soleil
gris","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506254","type_package":"0","prix_ht":"41.81","prix_ttc":"50.00","id_texte_equipement":"77788","equipt_text":"Porte-boissons
enclipsable","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur
&
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506272","type_package":"0","prix_ht":"150.50","prix_ttc":"180.00","id_texte_equipement":"88428","equipt_text":"Ru00740072oviseur
intu00720069eur
u006c0065ctrochrome","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506271","type_package":"0","prix_ht":"426.42","prix_ttc":"510.00","id_texte_equipement":"88425","equipt_text":"Ru00740072oviseurs
u006c0065ctrochromes et extu00720069eurs rabattables
u006c0065ctriquement","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506270","type_package":"0","prix_ht":"217.39","prix_ttc":"260.00","id_texte_equipement":"88422","equipt_text":"Ru00740072oviseurs
extu00720069eurs rabattables
u006c0065ctriquement","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506208","type_package":"0","prix_ht":"1379.60","prix_ttc":"1650.00","id_texte_equipement":"72481","equipt_text":"Sellerie
cuir Boston","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur
&
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506260","type_package":"0","prix_ht":"468.23","prix_ttc":"560.00","id_texte_equipement":"78077","equipt_text":"Sellerie
Tissu / Cuir Pearlpoint","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506207","type_package":"0","prix_ht":"125.42","prix_ttc":"150.00","id_texte_equipement":"72477","equipt_text":"Sellerie
tissu Network","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506279","type_package":"0","prix_ht":"229.93","prix_ttc":"275.00","id_texte_equipement":"88942","equipt_text":"Servotronic","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506195","type_package":"0","prix_ht":"242.47","prix_ttc":"290.00","id_texte_equipement":"70736","equipt_text":"Siu00670065s
AV avec soutien lombaire","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506198","type_package":"0","prix_ht":"284.28","prix_ttc":"340.00","id_texte_equipement":"71571","equipt_text":"Siu00670065s
AV chauffants","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506200","type_package":"2","prix_ht":"1128.76","prix_ttc":"1350.00","id_texte_equipement":"71637","equipt_text":"Siu00670065s
AV u006c0065ctriques avec mu006d006fire
conducteur","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur
&
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506221","type_package":"0","prix_ht":"501.67","prix_ttc":"600.00","id_texte_equipement":"72506","equipt_text":"Siu00670065s
AV Sport","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506218","type_package":"0","prix_ht":"91.97","prix_ttc":"110.00","id_texte_equipement":"72501","equipt_text":"Tapis
de sol en velours","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506196","type_package":"0","prix_ht":"836.12","prix_ttc":"1000.00","id_texte_equipement":"70741","equipt_text":"Toit
ouvrant en verre coulissant et entrebu0069006clable
u006c0065ctriquement","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506210","type_package":"0","prix_ht":"133.78","prix_ttc":"160.00","id_texte_equipement":"72483","equipt_text":"Touches
multifonctions sur le volant","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506177","type_package":"0","prix_ht":"267.56","prix_ttc":"320.00","id_texte_equipement":"65526","equipt_text":"Vitrage
calorifuge AR","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506206","type_package":"0","prix_ht":"167.22","prix_ttc":"200.00","id_texte_equipement":"71843","equipt_text":"Volant
chauffant","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506243","type_package":"0","prix_ht":"376.25","prix_ttc":"450.00","id_texte_equipement":"77724","equipt_text":"Volant
M gainu00200063uir","gpe_id":"00770013","gpe_libelle":"Confort
intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506211","type_package":"0","prix_ht":"250.84","prix_ttc":"300.00","id_texte_equipement":"72485","equipt_text":"Volant
Sport gainu00200063uir, 3 branches, diamu00740072e
369mm","gpe_id":"00770013","gpe_libelle":"Confort intu00720069eur &
extu00720069eur","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506217","type_package":"0","prix_ht":"543.48","prix_ttc":"650.00","id_texte_equipement":"72498","equipt_text":"Accu00730020confort","gpe_id":"00770012","gpe_libelle":"Divers","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506183","type_package":"0","prix_ht":"267.56","prix_ttc":"320.00","id_texte_equipement":"65534","equipt_text":"Interface
Audio
USB","gpe_id":"00770012","gpe_libelle":"Divers","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506012","type_package":"1","prix_ht":"2926.42","prix_ttc":"3500.00","id_texte_equipement":"65535","equipt_text":"Pack
Business","gpe_id":"00770012","gpe_libelle":"Divers","equipment_type":"option","package":"65532,71637,71645,71643","package_labels":"1.
Pru00700061ration pour tu006cphones portables avec interface Bluetooth
2. Siu00670065s AV u006c0065ctriques avec mu006d006fire conducteur 3.
Systu006d0065 de navigation Business 4. Systu006d0065 hauts parleurs
Hi-Fi 10 HP ","package_labels_list":["Pru00700061ration pour
tu006cphones portables avec interface Bluetooth","Siu00670065s AV
u006c0065ctriques avec mu006d006fire conducteur","Systu006d0065 de
navigation Business","Systu006d0065 hauts parleurs Hi-Fi 10
HP"]},{"type_equipement":"2","id_equipement":"114506268","type_package":"0","prix_ht":"192.31","prix_ttc":"230.00","id_texte_equipement":"88413","equipt_text":"Ciel
de pavillon
"Anthrazit"","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506253","type_package":"0","prix_ht":"83.61","prix_ttc":"100.00","id_texte_equipement":"77787","equipt_text":"Elu006d0065nts
extu00720069eurs dans la teinte de la
carrosserie","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506180","type_package":"0","prix_ht":"66.89","prix_ttc":"80.00","id_texte_equipement":"65530","equipt_text":"Inserts
du0063006fratifs
"Kaschmirsilber"","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506264","type_package":"0","prix_ht":"66.89","prix_ttc":"80.00","id_texte_equipement":"82509","equipt_text":"Inserts
du0063006fratifs Argent
satinu0020006dat","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506179","type_package":"0","prix_ht":"66.89","prix_ttc":"80.00","id_texte_equipement":"65529","equipt_text":"Inserts
du0063006fratifs brillants
"Schwartz"","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506181","type_package":"0","prix_ht":"267.56","prix_ttc":"320.00","id_texte_equipement":"65531","equipt_text":"Inserts
du0063006fratifs en aluminium
"Akzent"","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506223","type_package":"0","prix_ht":"359.53","prix_ttc":"430.00","id_texte_equipement":"72509","equipt_text":"Inserts
du0063006fratifs en bois pru00630069eux de noyer
clair","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506178","type_package":"0","prix_ht":"359.53","prix_ttc":"430.00","id_texte_equipement":"65528","equipt_text":"Inserts
du0063006fratifs en bois pru00630069eux de peuplier
veinu0020005c"Grau"","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506212","type_package":"0","prix_ht":"668.90","prix_ttc":"800.00","id_texte_equipement":"72487","equipt_text":"Jantes
en alliage lu00670065r 16" style 222 u00200072ayons doubles, 7Jx16"
et pneus 205/55
R16","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506249","type_package":"0","prix_ht":"585.28","prix_ttc":"700.00","id_texte_equipement":"77777","equipt_text":"Jantes
en alliage lu00670065r 16" style 229 u00200072ayons en V , 6.5Jx16"-
pneumatiques RSC 195/55
R16","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506288","type_package":"0","prix_ht":"668.90","prix_ttc":"800.00","id_texte_equipement":"93122","equipt_text":"Jantes
en alliage lu00670065r 16" style 360 u00200072ayons en V, 7Jx16" /
pneus 205/55
R16","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506214","type_package":"0","prix_ht":"1086.96","prix_ttc":"1300.00","id_texte_equipement":"72489","equipt_text":"Jantes
en alliage lu00670065r 17" style 141 u00200072ayons en V, 7Jx17",
pneus 205/50
R17","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506213","type_package":"0","prix_ht":"1212.37","prix_ttc":"1450.00","id_texte_equipement":"72488","equipt_text":"Jantes
en alliage lu00670065r 17" style 142 u00200072ayons en u0074006file,
AV : 7Jx17", pneus 205/50 R17, AR : 7.5Jx17", pneus 225/45
R17","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506236","type_package":"0","prix_ht":"1086.96","prix_ttc":"1300.00","id_texte_equipement":"72534","equipt_text":"Jantes
en alliage lu00670065r 17" style 256 u00200072ayons en u0074006file,
7Jx17", pneus 205/50
R17","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506248","type_package":"0","prix_ht":"1714.05","prix_ttc":"2050.00","id_texte_equipement":"77775","equipt_text":"Jantes
en alliage lu00670065r u00200072ayons V style 217 avec pneumatiques
RSC AV : 7,5J x 18" / 215/40 R18 - AR : 8,5J x 18" / 245/35
R18","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506118","type_package":"1","prix_ht":"2500.00","prix_ttc":"2990.00","id_texte_equipement":"91447","equipt_text":"Pack
Ru0066rences","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option","package":"72514,71646,77613","package_labels":"1.
Systu006d0065 d'aide au stationnement PDC AR 2. Systu006d0065 de
navigation Professional 3. Teinte de carrosserie
mu00740061llisu00650020","package_labels_list":["Systu006d0065 d'aide
au stationnement PDC AR","Systu006d0065 de navigation
Professional","Teinte de carrosserie
mu00740061llisu00650000"]},{"type_equipement":"2","id_equipement":"114506255","type_package":"0","prix_ht":"150.50","prix_ttc":"180.00","id_texte_equipement":"77789","equipt_text":"Shadow-Line
extu00720069eur","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506242","type_package":"2","prix_ht":"627.09","prix_ttc":"750.00","id_texte_equipement":"77613","equipt_text":"Teinte
de carrosserie
mu00740061llisu00650000","gpe_id":"00770015","gpe_libelle":"Optique/tuning","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506215","type_package":"0","prix_ht":"409.70","prix_ttc":"490.00","id_texte_equipement":"72495","equipt_text":"Alarme
antivol","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506226","type_package":"0","prix_ht":"117.06","prix_ttc":"140.00","id_texte_equipement":"72516","equipt_text":"Du00740065cteur
de pluie et allumage automatique des
projecteurs","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506205","type_package":"0","prix_ht":"142.14","prix_ttc":"170.00","id_texte_equipement":"71651","equipt_text":"Feux
de route
adaptatifs","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506199","type_package":"0","prix_ht":"83.61","prix_ttc":"100.00","id_texte_equipement":"71586","equipt_text":"Fixations
ISOFIX AV avec du00730061ctivation de l'airbag
passager","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506212","type_package":"0","prix_ht":"668.90","prix_ttc":"800.00","id_texte_equipement":"72487","equipt_text":"Jantes
en alliage lu00670065r 16" style 222 u00200072ayons doubles, 7Jx16"
et pneus 205/55
R16","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506249","type_package":"0","prix_ht":"585.28","prix_ttc":"700.00","id_texte_equipement":"77777","equipt_text":"Jantes
en alliage lu00670065r 16" style 229 u00200072ayons en V , 6.5Jx16"-
pneumatiques RSC 195/55
R16","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506288","type_package":"0","prix_ht":"668.90","prix_ttc":"800.00","id_texte_equipement":"93122","equipt_text":"Jantes
en alliage lu00670065r 16" style 360 u00200072ayons en V, 7Jx16" /
pneus 205/55
R16","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506214","type_package":"0","prix_ht":"1086.96","prix_ttc":"1300.00","id_texte_equipement":"72489","equipt_text":"Jantes
en alliage lu00670065r 17" style 141 u00200072ayons en V, 7Jx17",
pneus 205/50
R17","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506213","type_package":"0","prix_ht":"1212.37","prix_ttc":"1450.00","id_texte_equipement":"72488","equipt_text":"Jantes
en alliage lu00670065r 17" style 142 u00200072ayons en u0074006file,
AV : 7Jx17", pneus 205/50 R17, AR : 7.5Jx17", pneus 225/45
R17","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506236","type_package":"0","prix_ht":"1086.96","prix_ttc":"1300.00","id_texte_equipement":"72534","equipt_text":"Jantes
en alliage lu00670065r 17" style 256 u00200072ayons en u0074006file,
7Jx17", pneus 205/50
R17","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506248","type_package":"0","prix_ht":"1714.05","prix_ttc":"2050.00","id_texte_equipement":"77775","equipt_text":"Jantes
en alliage lu00670065r u00200072ayons V style 217 avec pneumatiques
RSC AV : 7,5J x 18" / 215/40 R18 - AR : 8,5J x 18" / 245/35
R18","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506229","type_package":"0","prix_ht":"192.31","prix_ttc":"230.00","id_texte_equipement":"72525","equipt_text":"Kit
Eclairage","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506054","type_package":"0","prix_ht":"250.84","prix_ttc":"300.00","id_texte_equipement":"72512","equipt_text":"Lave-projecteurs","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506278","type_package":"0","prix_ht":"250.84","prix_ttc":"300.00","id_texte_equipement":"88835","equipt_text":"Pneumatiques
RSC permettant le roulage
u00200070lat","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506057","type_package":"0","prix_ht":"501.67","prix_ttc":"600.00","id_texte_equipement":"72518","equipt_text":"Projecteurs
bi-Xenon","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506227","type_package":"0","prix_ht":"359.53","prix_ttc":"430.00","id_texte_equipement":"72520","equipt_text":"Projecteurs
directionnels","gpe_id":"00770017","gpe_libelle":"Su00630075ritu00000000","equipment_type":"option"},{"type_equipement":"2","id_equipement":"114506235","type_package":"0","prix_ht":"292.64","prix_ttc":"350.00","id_texte_equipement":"72533","equipt_text":"Suspension
Sport
M","gpe_id":"00770010","gpe_libelle":"Transmission/suspension","equipment_type":"option"}]}
Groquik
Le #21397301
Le 17/03/2010 18:27, Groquik a écrit :
Hello !

Je viens de constater un problème plutôt embarrassant :
J'utilise la méthode getJSON() de JQuery, qui fonctionne bien... sauf
quand le JSON retourné est trop gros !

En effet, dès que les données retournées atteignent un certain nombre de
Ko, je vois correctement la réponse dans Firebug (en-tête "Réponse"),
correctement formaté en JSON, mais ma fonction de callback n'est pas
appelée :-(

En revanche, tout se passe à merveille quand la réponse est plus petite.
J'ai cherché mon problème sur plein de forums, mais sans trouver mon
problème.

Quelqu'un peut-il m'apporter ses lumières ?




Bon en fait ça n'avait rien à voir avec la taille du JSON retourné...
C'était en fait à cause de quelques guillemets qui apparaissent dans
certains résultats, et qui causaient le problème.

J'ai donc remplacé les guillemets par *&quot* (grâce à une fonction en
PHP), et maintenant ça fonctionne nickel.

@ bientôt
SAM
Le #21398441
Le 3/18/10 4:02 PM, Groquik a écrit :


Bon en fait ça n'avait rien à voir avec la taille du JSON retourné...
C'était en fait à cause de quelques guillemets qui apparaissent dans
certains résultats, et qui causaient le problème.



en tous cas pas dans le code json fourni
ou alors ça m'aura échappé.

J'ai donc remplacé les guillemets par *&quot* (grâce à une fonction en
PHP), et maintenant ça fonctionne nickel.

@ bientôt



Ho! Moi je viens d'en acheter une de bagnole, alors .. dans 5 ans ?


--
sm
WebShaker
Le #21420381
Je viens de constater un problème plutôt embarrassant :
J'utilise la méthode getJSON() de JQuery, qui fonctionne bien... sauf
quand le JSON retourné est trop gros !



Deja il faut installer firebug pourvoir si Firefox n'hurle pas comme quoi il
n'y a plus de place mémoire.

Ensuite, attention le code suivant:
var x = []
x[] = 10;
x[20000] = 10;

Te donne un tableau serialisé enorme puisqu'il va considérer que x[1], x[2],
... x[19999] vallent tous null.
donc parfois jsute une tite modif permet de te réduire considérablement la
taille de tes données serialisées!

A+
SAM
Le #21420461
Le 3/22/10 3:11 PM, WebShaker a écrit :
Je viens de constater un problème plutôt embarrassant :
J'utilise la méthode getJSON() de JQuery, qui fonctionne bien... sauf
quand le JSON retourné est trop gros !



Ensuite, attention le code suivant:
var x = []
x[0] = 10;
x[20000] = 10;

Te donne un tableau serialisé enorme puisqu'il va considérer que x[1], x[2],
... x[19999] vallent tous null.



C'est sûr et certain ça ?

Ne sont-ils pas seulement indéfinis, et que lorsque qu'on les réclame ?

donc parfois jsute une tite modif permet de te réduire considérablement la
taille de tes données serialisées!



Ce serait donc la jisonnerie qui passerait sur tous les éléments
inexistants de la série ? (les créant et de valeur 'null' au passage)

--
sm
Cenekemoi
Le #21432921
"WebShaker" news:4ba77b3c$0$23465$
Ensuite, attention le code suivant:
var x = []
x[] = 10;
x[20000] = 10;

Te donne un tableau serialisé enorme puisqu'il va considérer que x[1],
x[2], ... x[19999] vallent tous null.




Bonjour,

est-ce que le fait d'écrire:

x[ 20000+"" ] = 10;

ou:

x[ new String(20000) ] = 10;

(ou quelque chose d'approchant)

...résoud ce problème, SVP ?

--
Cordialement, Thierry ;-)
Pascal
Le #21433531
Cenekemoi a écrit :
Bonjour,



Bonjour,

est-ce que le fait d'écrire:
x[ 20000+"" ] = 10;
ou:
x[ new String(20000) ] = 10;
(ou quelque chose d'approchant)
...résoud ce problème, SVP ?



Non, ça ne change rien si "x" est un tableau indexé.
Car, dans ce cas, les indices seront transtypés en entier.
Pour éviter le problème, il faut utiliser un tableau associatif.
Avec JavaScript, ce type de tableau est considéré comme un objet (ou
l'inverse, pour les puristes).

Voici un bout de code éclairant :

<script>
var tab1 = []; // tableau indexé
tab1[1000] = "test"; // dim dynamique selon index le + élevé
console.log(tab1.length); // = 1001
tab1["2000"] = "test"; // redim dynamique, index transtypé
console.log(tab1.length); // = 2001
var tab2 = {}; // objet = tableau associatif
tab2["1000"] = "test"; // dim dynamique selon nb membres
// calcul du nb de membres
var tab2Length = 0;
for (var prop in tab2) {
tab2Length ++;
}
console.log(tab2Length); // = 1
</script>

Cordialement,
Pascal
Olivier Miakinen
Le #21435451
Le 24/03/2010 18:51, Pascal a écrit :

Voici un bout de code éclairant :

<script>
var tab1 = []; // tableau indexé
tab1[1000] = "test"; // dim dynamique selon index le + élevé
console.log(tab1.length); // = 1001
tab1["2000"] = "test"; // redim dynamique, index transtypé
console.log(tab1.length); // = 2001
var tab2 = {}; // objet = tableau associatif
tab2["1000"] = "test"; // dim dynamique selon nb membres
// calcul du nb de membres
var tab2Length = 0;
for (var prop in tab2) {
tab2Length ++;
}
console.log(tab2Length); // = 1
</script>



Hahahaha ! Tu m'avais fait peur ! Le fait que tu te bases sur la
propriété 'length' pour estimer la taille réelle de l'objet est
éclairant en effet, du moins si le code ci-dessus est du JavaScript
(je ne connais pas les trucs cités dans le titre, JQuery et JSON, et
s'ils utilisent un interpréteur autre que JavaScript ma remarque ne
vaudra rien).


Voyons ce que dit la norme.

http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf
15.4.5.1 [[Put]] (P, V)
Array objects use a variation of the [[Put]] method used for other native ECMAScript objects
(8.6.2.2).
Assume A is an Array object and P is a string.
When the [[Put]] method of A is called with property P and value V, the following steps are taken:
1. Call the [[CanPut]] method of A with name P.
2. If Result(1) is false, return.
3. If A doesn’t have a property with name P, go to step 7.
4. If P is "length", go to step 12.
5. Set the value of property P of A to V.
6. Go to step 8.
7. Create a property with name P, set its value to V and give it empty attributes.
8. If P is not an array index, return.
9. If ToUint32(P) is less than the value of the length property of A, then return.
10. Change (or set) the value of the length property of A to ToUint32(P)+1.
11. Return.
12. Compute ToUint32(V).
13. If Result(12) is not equal to ToNumber(V), throw a RangeError exception.
14. For every integer k that is less than the value of the length property of A but not less than
Result(12), if A itself has a property (not an inherited property) named ToString(k), then delete
that property.
15. Set the value of property P of A to Result(12).
16. Return.



En gros, cela dit ceci :

1) tab1["machin"] = "truc" crée une propriété de nom "machin" et de
valeur "truc" et c'est tout.
2) tab1[1000] = "truc" crée une propriété de nom "1000" et de valeur
"truc", *et* passe la valeur de la propriété "length" à 1001 (sauf bien
sûr si elle était déjà supérieure à 1000).
3) tab1["length"] = 10 efface toutes les propriétés dont la valeur
numérique est supérieure ou égale à 10 et inférieure à la propriété
"length", puis passe la valeur de la propriété "length" à 10.

Nulle part il n'est question de créer 999 éléments nuls quand tu
ajoutes l'élément indexé par 1000 ! Et donc, pour calculer le nombre
réel d'éléments de tab1, tu dois faire comme pour tab2 : une boucle
« for (var prop in tab1) ».

Note au passage que tab1[1000] ou tab1["1000"] crée exactement la même
propriété, dont le nom est "1000" et non pas 1000.

--
Olivier Miakinen
SAM
Le #21435501
Le 3/25/10 12:53 AM, Olivier Miakinen a écrit :
Le 24/03/2010 18:51, Pascal a écrit :
Voici un bout de code éclairant :

<script>
var tab1 = []; // tableau indexé
tab1[1000] = "test"; // dim dynamique selon index le + élevé
console.log(tab1.length); // = 1001
tab1["2000"] = "test"; // redim dynamique, index transtypé
console.log(tab1.length); // = 2001
var tab2 = {}; // objet = tableau associatif
tab2["1000"] = "test"; // dim dynamique selon nb membres
// calcul du nb de membres
var tab2Length = 0;
for (var prop in tab2) {
tab2Length ++;
}
console.log(tab2Length); // = 1
</script>



Hahahaha ! Tu m'avais fait peur ! Le fait que tu te bases sur la
propriété 'length' pour estimer la taille réelle de l'objet est
éclairant en effet, du moins si le code ci-dessus est du JavaScript
(je ne connais pas les trucs cités dans le titre, JQuery et JSON, et
s'ils utilisent un interpréteur autre que JavaScript ma remarque ne
vaudra rien).



ben ... un exemple de Json tu en as un ici :
en gros : un objet d'objets d'objets et d'arrays
(le plus souvent (toujours ?) servi sous forme d'un string
que des fonctions Json (en JS) traduisent à grd' renfort d'eval)

On voit dans cet exemple qu'il y a xxx modèles (de voitures)
avec xx options chacun
que pour chaque modèle (propriété de l'objet général)
les xx options (propriétés du modèle) sont énumérées même quand elles
n'existent pas
que certaines options sont elles-mêmes des arrays
Le truc re-développé fait dans les 800-900 lignes (1 prop par ligne)

peut-être serait-il possible de gagner en poids à ne pas énumérer les
options vides ?
La jisonnerie coté serveur saurait-elle le faire ?

le pb de l'OP fut des erreurs de quotage dans les valeurs des prop qui
sont des strings (on n'sait plus où on en est des ' " ' ")
une kkdouille côté serveur quoi.

On s'demande si du vrai xml n'ferait pas mieux l'affaire
au moins ça limiterait ces histoires d'antislash

Voyons ce que dit la norme.

http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf
15.4.5.1 [[Put]] (P, V)
Array objects use a variation of the [[Put]] method used for other native ECMAScript objects
(8.6.2.2).
Assume A is an Array object and P is a string.
When the [[Put]] method of A is called with property P and value V, the following steps are taken:
1. Call the [[CanPut]] method of A with name P.
2. If Result(1) is false, return.
3. If A doesn’t have a property with name P, go to step 7.
4. If P is "length", go to step 12.
5. Set the value of property P of A to V.
6. Go to step 8.
7. Create a property with name P, set its value to V and give it empty attributes.
8. If P is not an array index, return.
9. If ToUint32(P) is less than the value of the length property of A, then return.
10. Change (or set) the value of the length property of A to ToUint32(P)+1.
11. Return.
12. Compute ToUint32(V).
13. If Result(12) is not equal to ToNumber(V), throw a RangeError exception.
14. For every integer k that is less than the value of the length property of A but not less than
Result(12), if A itself has a property (not an inherited property) named ToString(k), then delete
that property.
15. Set the value of property P of A to Result(12).
16. Return.



En gros, cela dit ceci :

1) tab1["machin"] = "truc" crée une propriété de nom "machin" et de
valeur "truc" et c'est tout.
2) tab1[1000] = "truc" crée une propriété de nom "1000" et de valeur
"truc", *et* passe la valeur de la propriété "length" à 1001 (sauf bien
sûr si elle était déjà supérieure à 1000).
3) tab1["length"] = 10 efface toutes les propriétés dont la valeur
numérique est supérieure ou égale à 10 et inférieure à la propriété
"length", puis passe la valeur de la propriété "length" à 10.



Là, au (3), même en fr j'ai rien compris !

Nulle part il n'est question de créer 999 éléments nuls quand tu
ajoutes l'élément indexé par 1000 ! Et donc, pour calculer le nombre
réel d'éléments de tab1, tu dois faire comme pour tab2 : une boucle
« for (var prop in tab1) ».

Note au passage que tab1[1000] ou tab1["1000"] crée exactement la même
propriété, dont le nom est "1000" et non pas 1000.



donc
if(tab1.1000 == 'truc') alert('Banco !');
oui ?

--
sm
Publicité
Poster une réponse
Anonyme