Chrome outils de dev tronque les données du formulaire tout en montrant les en-têtes de demande si elle contient « = »
-
27-10-2019 - |
Question
Je ne suis pas en mesure de voir le paramètre de requête complète en chrome outils de dev chaîne de requête contient « = ». Il montre que jusqu'à « = » et tronque là après.
Firebug montre correctement. S'il vous plaît trouver les captures d'écran de Firebug et chrome devtools pour l'ajax extrait montré ici.
var qstring = "Hello=Hai"; $.ajax({ type: 'POST' , url: "/cgi-bin/printenv.pl" , data: "query=" + qstring , dataType: 'xml' , timeout: 10000 , success: function(jQuerySuccessData){ } });
Y at-il solution de contournement disponible pour cela?
Merci, Naga Kiran
La solution
Vous devez urlencode la chaîne de requête comme =
est un caractère réservé. La meilleure façon de le faire serait la fonction escape
en javascript. Assurez-vous urldecode de l'autre côté aussi.
Autres conseils
Ajax jQuery utilise contentType: "application / x-www-form-urlencoded" par défaut
. $.ajax({
type: 'POST'
, url: (isCLI == false ? this.execUiQuery : this.execCli)
, data: qstring
, dataType: 'xml'
, contentType: 'text/plain'
, timeout: 10000
});
J'overriden ce paramètre et définis comme « text / plain » à l'aide de javascript modifier en chrome devtools et son montrant la chaîne de requête complète.