2009-10-23 6 views
1

J'utilise la fonction JSON.parse pour charger des informations sur une cellule. Je teste combien de données il est possible de récupérer en un appel. La fonction eval commence à générer un manque de mémoire de 1,3 à 1,4 million de caractères (65 000 à 70 000 cellules) dans la chaîne JSON. Est-ce que quelqu'un sait d'une solution de contournement pour ceci - peut-être un pur analyseur JSON, plutôt qu'éval?eval json erreur de mémoire insuffisante

Merci, Nathan

+1

Je pense qu'il vous manque ici le point du concept ajax en récupérant 1,4 million de caractères à la fois – Natrium

+0

Pourquoi chargez-vous des données aussi volumineuses? Essayez d'implémenter la pagination ou le chargement paresseux peut-être. – jerjer

+0

Avez-vous déjà trouvé une solution? J'ai le même problème. Dans mon problème, je charge des graphiques vectoriels en utilisant ajax et le nombre d'entités (et la taille de la réponse) peut varier énormément. Je considère la possibilité qu'éval peut causer des exceptions de MOO si l'image a trop d'entités. –

Répondre

1

Vous êtes certainement en train de pousser trop d'informations à votre client.

solutions de contournement possibles:

  • page vos données et charger uniquement ce qui est visible
  • Évitez JSON, utilisez HTML et vider le HTML directement à la page avec .innerHTML
  • Peut-être utiliser un analyseur de JSON natif comme dans Firefox et IE8 (peut-être dans d'autres navigateurs, ne me souviens pas)
  • Essayez JSONP (y compris une balise de script qui appelle une fonction avec vos données comme argument)
Questions connexes