![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
od razu mowie, że jestem zielony z AJAXA :-) wiec pytanie może wydać się troche głupie ale... Problem wygląda następująco: Mam stronke html na ktorej jest przycisk, po kliknięciu go uruchamia się AJAX i wykonuje skrypt z pliku file.php. czy jest możliwość zeby w tym pliku zdefiniować zmiane jakiegoś elementu na stronie głównej t.j. tym pliku html. Chodzi mi tutaj o zmiane typu:
ale żeby to zapisane w tym pliku php a nie w onSuccess w funkcji AJAX-owej. Mam nadzieję że da sie zrozumieć choć troche to co napisałem : - ) Pozdrawiam, Alk P.S. Dopisze tutaj bo nie chce zakładać nowego tematu. Czy jest możliwość edycji plików *.xml przy uzyciu JS? Chodzi mi tutaj o dopisywanie danych lub zmiane juz istniejących wpisów. Ten post edytował Alkagar 13.06.2006, 07:30:59 -------------------- I amar prestar aen
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
tak da się coś takiego zrobić. Trzeba wykonać eval na zwracanym tekscie. Oczywiście jeżeli chcesz dodać coś do stronki i zrobić eval to dochodzi Ci do tego jeszcze wyodrębnienie kodu JS od HTML. Bardzo dobrze jest to rozwiązane we frameworku prototype, którego jak widze to na tym forum mało ludzi używa, bo woli polskiego advAJAX. W każdym bądź razie, na forum już był ten temat poruszany, wystarczy poszukać
![]() dla leniwych: http://forum.php.pl/index.php?s=&showtopic...ndpost&p=257813 jest to kawałek z prototype odpowiedzialny za evaluowanie skryptów zwróconych przez request AJAX'a Ten post edytował anopak 13.06.2006, 07:34:49 -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Sam eval działa ale ten prototype nie bardzo. gdzie mam dać ten tekst z obj.responseText?
P.S. mówiłem ze zielony jestem : - P ====== hmmmmm juz wiem czemu mi to nie działało, probowałem uruchamiac w operze ![]() Jeszcze jedno pytanie mam, czy jest możliwość tworzenia plików xml tylko przy uzyciu JS-a? i potem poźniejsza ich edycja? Chodzi mi o to by to rozwiazanie było możliwe do wykonania bez serwera (czyli php etc. odpada ) Ten post edytował Alkagar 13.06.2006, 15:23:23 -------------------- I amar prestar aen
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
cała bibloteka prototype działa poprawnie róznież pod operą...
Cytat(Alkagar) Sam eval działa ale ten prototype nie bardzo. gdzie mam dać ten tekst z obj.responseText? Kod (...) onSuccess:function(obj){ var data=obj.responseText; var ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:<\/script>)'; var match = new RegExp(ScriptFragment, 'img'); var response = data.replace(match, ''); //w response masz calosc bez skryptów JS var scripts = data.match(match); //w scripts masz same skrypty JS match = new RegExp(ScriptFragment, 'im'); for (var i = 0; i < scripts.length; i++) eval(scripts[i].match(match)[1]); } (...) Cytat(Alkagar) Jeszcze jedno pytanie mam, czy jest możliwość tworzenia plików xml tylko przy uzyciu JS-a? i potem poźniejsza ich edycja? Chodzi mi o to by to rozwiazanie było możliwe do wykonania bez serwera (czyli php etc. odpada ) Nie ma szans, przecież JS działa po stronie klienta, a pliki masz po stronie serwera, a dzięki AJAX'owi masz komunikację między jednym a drugim... -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@Alkagar - i co bys z tymi plikami xml chcial robic, gdzie chcialbys je zapisywac - na komputerze uzytkownika? XMLa stworzysz przy pomocy js, ale nie nie masz mozliwosci jego zapisania.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przedstawie wam idee tego co chciałem zrobic : - ) może łatwiej zrozumieć będzie.
Miała to być lista filmów z tytułami, o czym film, etc. i to wszystko chciałem zrobić tak żeby działało po stronie clienta a nie servera gdyż chciałem to uruchamiać nawet na komputerze nie połączonym z internetem, bez zainstalowanego serwera. Więc, wchodziło by tutaj w gre otwieranie xml-a, odczytywanie zapisanych informacji (to wiem ze sie da) a ponadto także dopisywanie nowych danych pobranych z formularza (i tu jest problem bo nie wiem czy jest taka możliwość, plik znajdowałby się w katalogu wraz ze stroną z kodem). Prosta sprawa przy użyciu php tylko że wtedy potrzbny byłby serwer czego chciałbym uniknąć. Czy jest szansa na zrobienie czegoś takiego? Czy JS pozwala nam na edycje plików znajdujących się wraz z nim w katalogu? Czy może jakis inny język (nie server-side) nadający się do tego? Pozdrawiam, Alk P.S. Co do opery to wykonywanie skryptu dochodzi pętli i tam sie zatrzymuje. Nie wykonuje żadnego przebiegu. W IE wszystko działa. Czym to może być spowodowane? Ten post edytował Alkagar 14.06.2006, 07:57:46 -------------------- I amar prestar aen
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Alkagar) Przedstawie wam idee tego co chciałem zrobic : - ) może łatwiej zrozumieć będzie. Miała to być lista filmów z tytułami, o czym film, etc. i to wszystko chciałem zrobić tak żeby działało po stronie clienta a nie servera gdyż chciałem to uruchamiać nawet na komputerze nie połączonym z internetem, bez zainstalowanego serwera. Więc, wchodziło by tutaj w gre otwieranie xml-a, odczytywanie zapisanych informacji (to wiem ze sie da) a ponadto także dopisywanie nowych danych pobranych z formularza (i tu jest problem bo nie wiem czy jest taka możliwość, plik znajdowałby się w katalogu wraz ze stroną z kodem). Prosta sprawa przy użyciu php tylko że wtedy potrzbny byłby serwer czego chciałbym uniknąć. Czy jest szansa na zrobienie czegoś takiego? Czy JS pozwala nam na edycje plików znajdujących się wraz z nim w katalogu? Czy może jakis inny język (nie server-side) nadający się do tego? no w takim wypadku to się da. Nie jestem pewien czy na każdej przeglądarce będize działać, ale napewno na FF działa. Korzystałem kiedyś z zapisywania plików poprzez JS przy tworzeniu XUL, więc możesz poszukać pod hasłem "XUL zapis plików" w googlu... Cytat(Alkagar) P.S. Co do opery to wykonywanie skryptu dochodzi pętli i tam sie zatrzymuje. Nie wykonuje żadnego przebiegu. W IE wszystko działa. Czym to może być spowodowane? co do opery, to sprawdze i dam Ci znać... --------------- ok, w operze też działa... mam tak: test.html
test.php - do niego sie odwoluje z AJAX'a
i działa bez problemowo... Ten post edytował anopak 14.06.2006, 08:30:00 -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm...
Wklejam ten twój kod i dalej nie działa. Jaką masz wersje opery? ja uruchamiam na 8.5. -------------------- I amar prestar aen
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
8.5.4...
wklej tu na forum caly kod, ktory wywoluje AJAX'a oraz odpowiedz z serwera.... trudno tak na sucho mówić co możesz mieć nie tak.... Ten post edytował anopak 14.06.2006, 12:46:06 -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Funkcja onclick na grafice wywołuje ajaxa:
Funkcja mySubmit(); :
No i kod pliku .php:
-------------------- I amar prestar aen
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 26.10.2004 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
może coś takiego...
Kod advAJAX.post({ ..., mimeType: 'text/plain' }; a co masz wogule w obj.responseText? czyli np alert(obj.reponseText); napewno zwraca Ci poprawną wartość? -------------------- Hardware: Celeron 3.06, 512 MB DDR
Software: Apache 2.0, MySQL 4.0, php 4.3.1, Zend 5.1, Firefox |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
To jest dokłądna wartość obj.responseText. z tego co patrzylem to on ma problem z scripts.lengthbo jak to zamienie na przykłąd na 5 to wykonuje mi a przynajmniej zaczyna wykonywac pętle ale potem znowu nie przechodzi przez eval i na tym sie konczy wykonywanie scryptu. Tylko to działa w IE wieć raczej błędu w zwracanej wartości być nie powinno : - (. To: mimeType tez dałem i dalej tak samo jest. Pozdrawiam, Alk Czyli nikt nie ma pomysłu dlaczego to nie działa na operze? Właściwie to juz napisalem inna funkcje do evaluowania (?) kodu. Jakby ktoś chciał działającą pod operą to :
Ten post edytował Alkagar 22.06.2006, 09:49:58 -------------------- I amar prestar aen
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:32 |