Ajaxal JS küldése
Sziasztok!
Szeretnék a megrendelőnek biztosítani egy olyan lehetőséget, hogy textareába beadhasson egy js-t, amit ajaxal (prototype) küldök el a szervernek, és mentem adatbázisba. Ez pl számláló lehet.Azonban az történik, hogy ez elküldéskor LEFUT a js és több ok miatt is megakad.
1) egyenlőség jel van benne, ami miatt a rendszer ugy értékeli mintha egy uj form elemről lenne szó.
2) & jel van benne
(van egy sor ami link és a számláló motorhoz mutat:
<img src="http://c26.statcounter.com/counter.php?sc_project=2605032&java=0&security=af51b64c&invisible=0" alt="blog stats" border="0"></a>
ha ez benne van a kódban akkor a post erre alakul:
sc_project=2605032&java=0&security=af51b64c&invisible=0%22%20alt
3) gyakorlatilag úgy tünik végrehajtja a js-t.
alapesetben ilyennek kellene lennie a post nak:
com=PageJSModify&value=%3C!--%20Start%20of%20StatCounter%20Code%20--%3E%0A%3Cscript%20type
itt látható is, hogy a type szónál megakad a textarea mező tartalmának elküldése.
Kérdésem az lenne, hogy van-e valami olyan js utasítás/kódolás ami letiltja a kiértékelést, és mint szöveg küldi el a tartalmat? vagy ha ilyen nincs, akkor van valami bonyolultabb megoldás?
köszi.
Üdv mindenkinek
■ Szeretnék a megrendelőnek biztosítani egy olyan lehetőséget, hogy textareába beadhasson egy js-t, amit ajaxal (prototype) küldök el a szervernek, és mentem adatbázisba. Ez pl számláló lehet.
<!-- Start of StatCounter Code -->
<script type="text/javascript" language="javascript">
var sc_project=2643532;
var sc_invisible=0;
var sc_partition=25;
var sc_security="adasfsdf64c";
</script>
<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img src="http://c26.statcounter.com/counter.php?sc_project=2605032&java=0&security=af51b64c&invisible=0" alt="blog stats" border="0"></a> </noscript>
<!-- End of StatCounter Code -->
1) egyenlőség jel van benne, ami miatt a rendszer ugy értékeli mintha egy uj form elemről lenne szó.
2) & jel van benne
(van egy sor ami link és a számláló motorhoz mutat:
<img src="http://c26.statcounter.com/counter.php?sc_project=2605032&java=0&security=af51b64c&invisible=0" alt="blog stats" border="0"></a>
ha ez benne van a kódban akkor a post erre alakul:
sc_project=2605032&java=0&security=af51b64c&invisible=0%22%20alt
3) gyakorlatilag úgy tünik végrehajtja a js-t.
alapesetben ilyennek kellene lennie a post nak:
com=PageJSModify&value=%3C!--%20Start%20of%20StatCounter%20Code%20--%3E%0A%3Cscript%20type
itt látható is, hogy a type szónál megakad a textarea mező tartalmának elküldése.
Kérdésem az lenne, hogy van-e valami olyan js utasítás/kódolás ami letiltja a kiértékelést, és mint szöveg küldi el a tartalmat? vagy ha ilyen nincs, akkor van valami bonyolultabb megoldás?
köszi.
Üdv mindenkinek
Több lehetőséged van
2. GET helyett POST-tal küldöd el
3. Hasznosabb lett volna ha azt a kódod írod a hozzászólásba ami a elküldené a szervernek a textarea-t és nem a példa szöveget (ugyanis a gondod az előbbivel van, nem az utóbbival)...
Nem értem teljesen
Szerintem semmilyen módon nem kódolja. hanem amit kap (ami a textareaban van) azt küldi POST-ban.
Sajnos a válaszodból nem jöttem rá mit kellene csinálnom. Kérlek amennyiben röviden el tudod mondani tedd meg.
Köszi.
prototype post
Nálad csak a parameters van, így hiába van post megadva a myMethod-ban, mégis get-tel küldöd :)
a hash.toQueryString() az csak annyi, hogy én egy hash-ben adom át a függvényemnek az elküldendő paramétereket és ez egy query stringet csinál ebből a hash-ből.
Márpedig de az post! :)
escape?
Azt még megteheted, hogy textarea értéket escapeled (string.escape()) mielőtt elküldöd a szervernek.
SIKER!
AZONBAN! Sikerült megooldani a dolgot, bár csak sejtem, hogy mi lehetett a probléma.
Az általam írt js objektum többféle "módon" tudja küldeni a beviteli mezőket.
Az a verzióü amit használtam eddig, a textarea értékét küldte.
Ami pedig működik, az az, hogy átalakítottam form-á és a Form.serialize(ExtraID); fügvényen keresztül küldöm a tartalmat. ez érdekes módon fut mint a nyúl.
ugyhogy ez most jó.
Köszönöm az eddigi segítségedet!
annál egyszerűbb kicsit
A method: post default, ezért elhagyható. A parameters-re pedig automatikusan applikálódik a $H(), úgyhogy annak elég csak egy hash kompatibilis valami (pl. egy objektum).
Példa: