2010-06-04 4 views
3

Quelle est la meilleure façon d'envoyer un grand ensemble de données via une requête GET?Envoi d'un grand ensemble de données paramétré en tant que requête GET

  • Je ne peux pas utiliser POST en raison de certaines limitations de conception.
  • Je peux utiliser jQuery ou toute autre bibliothèque, sizzle est préférable.
  • J'ai un ensemble de données complexe qui contient des imbrications, et json correspond bien à la facture.

Merci pour votre aide.

+0

pouvez spécifier vous ce que vous entendez par " grand"? –

+0

Quelles sont les limitations de conception qui rendent le POST inutilisable? Sa limite est ** beaucoup plus élevée. – BalusC

Répondre

7

Les requêtes GET ne doivent pas dépasser 1 à 4 kilo-octets en raison des limitations du navigateur et du serveur. Vous devriez diviser votre demande en morceaux pour faire ceci.

Si les données proviennent d'un formulaire, vous pouvez, par exemple, utiliser la fonction .serialize() de jQuery pour placer les données dans une chaîne. Ensuite, divisez la chaîne en morceaux de la taille d'un kilo-octet et envoyez-la en utilisant Ajax. Vous devez avoir un script côté serveur qui colle les morceaux ensemble, en utilisant éventuellement un identifiant unique spécifié dans les requêtes Ajax.

Certaines sources sur la limitation de la longueur:

+2

[RFC2616] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1) mentionne 255 octets comme limite supérieure sûre. C'est cependant une vieille spécification. De nos jours, je pense que 2K est sûr, mais je ne suis pas sûr de clients mobiles. La limite d'ailleurs ne s'applique pas à la partie de requête de mélange seulement, mais à l'URI entière. – BalusC

Questions connexes