V parametri chrome dev v reťazci dotazu, ktorý obsahuje reťazec "=", nemôžem vidieť úplný parameter dopytu. Zobrazuje sa len do "=" a potom sa skracuje.
Firebug to zobrazuje správne. Tu nájdete screenshoty z firebug a chrome devtools pre ajax úryvok.
var qstring = "Hello=Hai"; $.ajax({ type: "POST" , url: "/cgi-bin/printenv.pl" , data: "query=" + qstring , dataType: "xml" , timeout: 10000 , success: function(jQuerySuccessData){ } });
Je k dispozícii nejaké riešenie?
Vďaka, Naga Kiran
odpovede:
1 pre odpoveď č. 1Musíte reťazec dotazu urlen kódovať ako =
je vyhradený znak. Najjednoduchší spôsob, ako to dosiahnuť, by bol escape
funkcie v javascriptu. Uistite sa, že urldecode na druhej strane rovnako.
0 pre odpoveď č. 2
jQuery Ajax štandardne používa contentType: "application / x-www-form-urlencoded".
$.ajax({
type: "POST"
, url: (isCLI == false ? this.execUiQuery : this.execCli)
, data: qstring
, dataType: "xml"
, contentType: "text/plain"
, timeout: 10000
});
Toto nastavenie som prepísal a nastavil ako "text / plain" pomocou úpravy javascriptu v chrome devtools a jeho zobrazovaní kompletného reťazca dotazov.