Pourquoi ne puis-je pas publier de données non binaires volumineuses via AJAX ?

Patricia Arquette
Libérer: 2024-11-03 19:35:30
original
605 Les gens l'ont consulté

Why Can't I POST Large Non-Binary Data via AJAX?

Comprendre les limites des données PHP/Apache/AJAX POST

Question :

Impossible de POST des données non binaires volumineuses via AJAX, réception d'un résultat vide en PHP avec une erreur indiquant un élément $_POST non défini.

Code :

// JavaScript
$.ajax({
    data: {'data_string': string}
});

// PHP
$_POST['data_string']
Copier après la connexion

Analyse :

Une enquête complète sur les limites potentielles qui peuvent entraver le processus POST est nécessaire pour résoudre ce problème.

Points à considérer :

  • Apache : LimitRequestBody restreint la taille du corps de la requête HTTP reçue par Apache. Généralement défini sur 2 Go, mais des valeurs spécifiques peuvent varier.
  • PHP : Plusieurs paramètres influencent la gestion des données POST :

    • post_max_size : limite la quantité de Données POST pouvant être acceptées.
    • upload_max_filesize : définit la taille maximale pour les téléchargements de fichiers.
    • max_input_time : spécifie la durée maximale autorisée pour la saisie des données POST.
    • max_input_nesting_level : limites les niveaux d'imbrication des tableaux complexes dans les données POST.
    • memory_limit : limite la mémoire disponible pour PHP, ce qui peut avoir un impact sur le traitement de données POST volumineuses.
    • max_input_vars : limite le nombre de variables autorisées dans les données POST. .
  • Autres facteurs :

    • Serveurs proxy : les proxys peuvent imposer leurs propres limites sur la taille du corps de la demande.
    • Navigateurs côté client : les fonctionnalités du navigateur peuvent affecter la taille des données POST pouvant être envoyées.

Solution :

Pour résoudre ce problème , vérifiez chacun de ces paramètres limitants dans Apache, PHP et d'autres composants impliqués. Assurez-vous qu'ils dépassent la taille des données POST transmises.

Si la limite intégrée d'Apache est dépassée, envisagez de diviser les données volumineuses en morceaux plus petits et de les transmettre par étapes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!