9
votes

Erreur HTTP 414. L'URL de la demande est trop longue

J'utilise CKEditor pour formater certaines données à l'intérieur de mon textarea xxx

maintenant lorsque j'essaie de poster ces données à l'aide de jquery.ajax Comme ceci, xxx

i obtenir l'erreur

Erreur HTTP 414. L'URL de la demande est trop longue.

Je reçois l'erreur ici: http://iranfairco.com/example/errorlongurl.aspx
Essayez de cliquer sur le bouton EDIT EDIT en bas à gauche de cette page.

Pourquoi cela se produit-il? Comment puis-je le résoudre?


2 commentaires

Eh bien, vous appendez tonnes de texte à l'URL. L'URL n'est pas conçue pour gérer cela. Vous devriez envoyer le texte dans le corps de la poste au lieu d'essayer de le mettre dans l'URL.


J'adore que vous postez, mais c'est vraiment un get. :)


5 Réponses :


22
votes

selon Cette question la longueur maximale pratique de Une URL est de 2000 caractères. Cela ne sera pas capable de tenir un article de Wikipedia massif tel que vous essayez d'envoyer.

au lieu de mettre les données sur l'URL, vous devez la mettre dans le corps d'une requête postale. Vous devez ajouter une valeur de données à l'objet que vous passez à l'appel de la fonction AJAX. Comme ceci: xxx


4 commentaires

Je peux obtenir cela par demande ["À propos"]


Lorsque AllCommand récuponce plus de 20000 caractères, alors ... $ .ajax ({URL: "allcommand.aspx? cmd = getabout & idcompany =" + getparam ("IDCompan Y"), async: false, succès: fonction (réponse) {Alerte (réponse); } });


L'appel dans votre commentaire ne transmet pas les données.


@Godislive - Votre commentaire était-il d'avoir un autre problème ou cette réponse résout-elle votre problème?



0
votes

Dans mon cas, l'erreur a été soulevée, même si j'utilisais "Post" et que l'appel au serveur a réussi. Il s'est tourné pour être que je manquais l'attribut DataType ... étrange mais maintenant, il fonctionne

            return $.ajax({
            url: url,
            type: 'POST',
            dataType: 'json',
            data: JSON.stringify(data)
        })


0 commentaires

1
votes

Dans mon cas, il y avait une erreur de temps d'exécution juste avant le poste d'appel. Fixer le problème résolu.

L'erreur d'exécution essayait de lire $ ('# exemple'). Val () $ ('# exemple') n'existe pas ( IE non défini ).

Je suis sûr que cela aidera certainement quelqu'un.


0 commentaires

2
votes

Pour moi, changeez Type: "Obtenir" TO Type: "POST" A travaillé, comme Obtenez révèle toutes les questions et c'est donc le faire URL plus grande.
Il suffit de changer type à partir de obtenez à POST .

Cela devrait aider. :)


1 commentaires

C'est une réponse acceptable !!!! +1



0
votes

Un peu en retard à la fête, mais j'ai eu ce 414, tout en utilisant Post. Il est avéré qu'il s'agissait d'une longueur maximale du chemin dans Windows, ce qui entraîne cette erreur. Je téléchargeais un fichier et la durée de la demande réelle était une excellente amende (en utilisant la poste). Mais lorsque vous essayez de sauvegarder le fichier, il a dépassé la limite de caractères de caractère 260 par défaut de Windows. Cela a ensuite entraîné le 414, qui semble étrange. J'attendrais juste un 501. Je penserais 414 concerne la demande, et non la manipulation du serveur.


0 commentaires