Szukajcie a znajdziecie… często szukamy jednej drobnej rzeczy, rozwiązanie jest prostsze niż się przeważnie wydaje

W dniu dzisiejszym spędziłem 2 godziny, na poszukiwaniu czemu %%FAQ%% zmienia się w %(nieznany mi symbol)Q… czemu jest to problemem, muszę napisać do czego jest to mi potrzebne.

Otóż kończę właśnie pisać naprawdę przyjemny CMS, w którym sporo rzeczy dzieje się z pomocą AJAXu. W ten również sposób zapisywany jest content strony. Trzeba było zrobić drobne ułatwienie, aby użytkownicy mogli dodawać rzeczy z modułów na strony tekstowe. Czyli przykładowy %%FAQ%%, wyświetli całość zawartości modułu FAQ. W trakcie testowania zauważyłem problem z pierwszego zdania…

Trzeba więc go rozwiązać, problem z kodowaniem. Nie powinno być dużego problemu… a przynajmniej tak w pierwszej chwili pomyślałem. Okazało się, że problem leży głębiej. Przekazywanie danych między klientem a serwerem, cóż.. trzeba więc zmienić sposób przekazywania – z POST, na GET. Ciągle nici… JSON, to na pewno zadziała – jednak nie w tym przypadku, a może przekazywanie obiektu? Też nie działa… włączamy więc jedynie słuszną przeglądarkę i szukamy, może ktoś z nas ma podobny problem i już go jakoś rozwiązał.

Po przejrzeniu „połowy internetu” 🙂 znalazłem rozwiązanie, tak proste, że nie wiem jak można nie było tego wiedzieć wcześniej. Wystarczy użyć funkcji „escape„. Jak się jej używa? Trywialnie.

var title = $("input#title").val();
var dataString = 'title='+escape(title);

i przekazujemy „dataString” do ajaxa, który przekaże na serwer, nic więcej nie trzeba robić. Można sobie wziąć piwko i  się delektować dobrze wykonaną pracą..

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Proszę dokończyć równanie: * Time limit is exhausted. Please reload CAPTCHA.