Jak połączyć php z jquery


(Drobok) #1

Poradzi mi ktoś ? Otóż mam np taki kodzik:

var a=$(this).text();post("obs.php",{sear: a}, function(data) {   $("#tresc").load(data);[/code]

Oraz:


[code=php]?php

(Damgora) #2

jeśli dobrze rozumiem i ten kawałek kodu php to cała zawartość pliku obs.php to wydaje mi się, że wszystko bez problemów powinno działać tak jak jest napisane.

W zasadzie ten sam efekt da: $("#tresc").load('');

Chyba, że ma to działać inaczej o czym nie raczyłeś napisać, bo niestety kryształowa kula gdzieś mi się zapodziała...


(Drobok) #3

A no rzeczywiście, w txt miało być 1 a nie 0, ale i tak to nic nie zmienia.

A co do zastosowania: mam kilka divów, w txt jest treść diva do pliku który ma wrzucić. Skrypt pobiera zawartość diva (odpalany div click) i wysyła postem do php, php sprawdza w txt zawartość diva i do tego przypisuje link, który wyświetla. A skrypt odczytuje go i ładuje określony plik.

Teoretycznie dobrze, jednak problem jest z cba, bowiem reklama wwala się do wyniku z php. Jeśli zamiast load, dam document.write(data) mam reklame cba ;/


(Damgora) #4

ogranicz się do jednego zapytania - zamiast wysyłać dopasowany url z powrotem do klienta od razu wyślij treść właściwego pliku.

tak na marginesie - funkcję menu() gdziekolwiek wywołujesz? Nie widać tego w pierwszym poście.


(Drobok) #5

Wywołuje w tym pliku co ją mam, na razie tylko to tam jest, ale zamierzam zoptymalizować cały php strony do tego jednego pliku ;] Aie nie mogę wysłać treści bo znów się reklama cba.pl pokazuje. W document.write mam kod reklamy. Nie da się tego jakoś inaczej rozwiązać ? Najlepiej by było gdyby się dało jakoś funkcję z php w jquery zastosować, sama treść to za dużo przesyłania.


(Damgora) #6

Na reklamy raczej nic nie poradzę, szczególnie jeśli są bezmyślnie dopinane do każdej odpowiedzi z serwera bez względu na wszystko (nagłówki charakterystyczne dla ajaxa?, content-typu?)

na siłę możesz reklamy wywalać w javascripcie i na stronę wstawiać tylko właściwą treść.

No chwila... i tak ją musisz przesłać, więc po co dwa zapytania?


(Drobok) #7

A da się jakoś korzystając z zewnętrznego pliku przyporządkować nazwy plików do danych wartości ?


(Damgora) #8

Chyba to właśnie na swój sposób robisz z użyciem pliku txt (tego z pierwszego posta)?

No ale jeśli dobrze zrozumiałem do czego mają służyć te klikalne divy to osobiście darowałbym sobie dodatkowe pliki i zrobił tak:

Zamiast divów zwykłe linki (), na onclick zapytanie ajaxowe (url z atrybutu href), i wrzucenie treści we właściwe miejsce, no i na końcu return false; żeby zapobiec typowemu zachowaniu linków.

I teraz po stronie serwera sprawdzić czy zapytanie jest ajaxowe (będą dodatkowe charakterystyczne nagłówki), jeśli tak wysłać tylko fragment treści do podmienienia/dodania, w przeciwnym razie pełną stronę.

W ten sposób linki będą również działać bez obsługi skryptów


(Drobok) #9

Ja myślałem by je podmieniać w zależności od włączonego js.

Gdybym ja to wcześniej wiedział to bym nawet z tym txt nie próbował, ale tak czy siak przyda się kiedyś w życiu, na razie i tak stronki nie robię tylko próbuje coś zrobić czego jeszcze nie robiłem, dzięki wielkie za pomoc ;] ;]

Btw co do cba i loada, content pomógł.

PS nie polecam tego co zrobiłem, mimo iż działa to 2-3s trza czekać na zmianę treści.