Autor Zpráva
Radovan789
Profil *
Zdravím,
narazil jsem na malý problém a nevím jak ho vyřešit.

mám napsanou v jQuery ajax funkci s parametrem:
data: "code="+ post_code +"&steam="+ post_steam;


post_code a post_steam jsou proměnné které může uživatel měnit.
Problém nastává když uživatel napíše například do proměné post_steam tohle: textík&textík
vtomto případě se ajaxem odešle jen steam=textík a zbytek je chápán jako nová (POST, GET) proměnná.

Proto se ptám jestli jde znak & escapovat a jestli ano tak pomocí funkce, nebo jen pomoci funkce replace ?
Chamurappi
Profil
Reaguji na Radovana789:
Proto se ptám jestli jde znak & escapovat a jestli ano tak pomocí funkce
Samozřejmě, že ano, stačí trochu hledat — tuhle botu dělá spousta lidí, proto je na spousta místech popsáno řešení.

Krom toho je escapování přímo uvnitř jQuery, stačí si pročíst dokumentaci a přizpůsobit zápis…
Radovan789
Profil *
Reaguji na Chamurappi:
Takže vlastně to nejde escapovat, jde to pouze zakódovat a dekódovat, to se potom špatně hledá. Potom asi budu muset sepsat script na dekodování v PHP.

A pokuď jsem našel správně tu jQuery funkci tak to řeší .serialize()
Radek9
Profil
Radovan789:
Ne, PHP to dostane už dekódované. To se enkóduje proto, aby si to PHP umělo vzít a vrátit ti z toho informace.
Radovan789
Profil *
Radek9:
děkuju
Chamurappi
Profil
Reaguji na Radovana789:
budu muset sepsat script na dekodování v PHP
Tohle není jen nějaká obezlička, ale prachobyčejná oprava URL do správného tvaru — tu bys měl provádět vždy. Bez ní máš problémy skoro jisté.

pokuď jsem našel správně tu jQuery funkci tak to řeší .serialize()
Ne. Řeší to přímo $.ajax, stačí si pročíst dokumentaci a přizpůsobit zápis. Moc nerozumím, proč všichni dávají do data řetězec, má to nějaké výhody?
Radovan789
Profil *
Reaguji na Chamurappiho:
„proč všichni dávají do data řetězec, má to nějaké výhody?
Jedinou výhodu vidím v tom že uživatel nemusí znát JSON a příjde mu to jednoduší (na první pohled).

Takže JSON je řešením... No aspoň ho od teď začnu používat ;-)

Takže děkuji za diskusi.
Chamurappi
Profil
Reaguji na Radovana789:
Rozhodně bych tomu neříkal JSON. Je to prachobyčejný objekt v JavaScriptu, nezáleží na tom, jakým způsobem ho vytvoříš a zapíšeš. Klidně by mohl vzniknout takhle:
var parametry = new Object();
parametry.code = post_code;
parametry.steam = post_steam;

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0