Czyli moja metoda rozbicia array i oddzielenia "###" jest takim zserializowaniem?
Technicznie niby tak, ale zauważ że takim sposobem nie jesteś w stanie wysłać tekstu który zawiera w sobie ###
, bo zostałyby potraktowane jako separator. Musiałbyś to jakoś obsłużyć; albo nie pozwolić na wysyłanie takiego ciągu. Dodatkowo w takim formacie wyślesz tylko string, nie wyślesz inta, booleana ani innych zagnieżdżonych typów jak lista lub mapa.
A czy przy większej liczbie pół?
Serializacja powinna działać tak samo dla dowolnej ilości pól. Te które wymieniłem tak działają, nawet dla 1000 pól.
W PHP tworzyć plik na serwerze. Parametrem funkcji js będzie adres i nazwa tego pliku na serwerze. W funkcji js XMLHttpRequest GET i pobrać ten plik i go przetworzyć? Tak?
Nooo, mógłbyś to zrobić ale to się wiąże z pewnymi założeniami. Po pierwsze musisz mieć dostęp do systemu plików; a jeśli tak to musiałbyś mieć bezpieczną strukturę, żeby przez przypadek ktoś nie zrobił Ci szkodliwie szkody w systemie plików. Żeby je zapisać musisz odpowiednio potraktować zamianę danych z formatu "webowego" (url, html, etc.) na format filesystem (ścieżki, nazwy, ..
, /
, łączenie ścieżek, etc.). I akurat w PHP bardzo łatwo się walnąć i zrobić błąd. Musisz się liczyć z dodatkowym miejscem które musisz poświęcić na te pliki; musisz je serwować z servera odpowiednio, ładować je w kliencie; i pamiętaj że na 99% przeglądarki Ci zcache'ują ten plik, więc jak go podmienisz, to będziesz musiał jakoś zinwalidować ten cache.
Po prostu wysłanie zserializowanych danych jest dużo lepszym rozwiązaniem. JSON jest najbardziej popularnym, ale każde z tych które wymieniłem byłoby ok. Nie musisz się zupełnie martwić tym że będzie duży :)