Chrome Dev Tools schneidet die Formulardaten ab, während sie in Anforderungsheadern angezeigt werden, wenn sie "=" enthält
-
27-10-2019 - |
Frage
Ich bin nicht in der Lage, den vollständigen Abfrageparameter in Chrome Dev Tools in der Abfragezeichenfolge "=" zu sehen. Es zeigt nur bis "=" und schneidet dort danach ab.
Firebug zeigt es richtig. In den hier gezeigten Ajax -Snippet finden Sie die Screenshots von Firebug und Chrome Devtools.
var qstring = "Hello=Hai"; $.ajax({ type: 'POST' , url: "/cgi-bin/printenv.pl" , data: "query=" + qstring , dataType: 'xml' , timeout: 10000 , success: function(jQuerySuccessData){ } });
Gibt es dafür eine Problemumgehung?
Danke, Naga Kiran
Lösung
Sie müssen die Abfragebarstellung als Urlencode als urlencodieren =
ist ein reservierter Charakter. Der einfachste Weg, dies zu tun, wäre die escape
Funktion in JavaScript. Stellen Sie sicher, dass Sie auch auf der anderen Seite urldecode.
Andere Tipps
JQuery AJAX verwendet standardmäßig ContentType: "Anwendung/x-www-form-urlencoded".
$.ajax({
type: 'POST'
, url: (isCLI == false ? this.execUiQuery : this.execCli)
, data: qstring
, dataType: 'xml'
, contentType: 'text/plain'
, timeout: 10000
});
Ich habe diese Einstellung überschrieben und als "Text/Plain" unter Verwendung von JavaScript -Bearbeiten in Chrome Devtools und deren vollständiger Abfragezeichenfolge festgelegt.