Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX]Odświeżanie diva
GoOx
post 8.07.2012, 15:24:12
Post #1





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cześć,

mam taki prosty kodzik:

  1. <div class='right' id='right' onchange='test();'>
  2. kod php
  3. </div>
  4.  
  5. <script type='text/javascript'>
  6. function test() {
  7. $("#right").html(data);
  8. setTimeout('test()', 1000);
  9. }
  10. window.onload = test();
  11. </script>


I Pytanie jak to zmusić aby div był odświeżany co sekundę? Bo to mi nie działa ;/
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 15:30:35
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Jeśli chodzi o js to jest ok. Ale jeśli Ty sądzisz, że tu:

  1. <div class='right' id='right' onchange='test();'>
  2. kod php
  3. </div>


Za każdym razem od nowa wykona się php to jest w błędzie. Do tego służy ajax.
A najprościej z jquery: http://api.jquery.com/load/

Ten post edytował konrados 8.07.2012, 15:32:24
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 15:32:03
Post #3





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Więc jak ty wykonać by ten kod php się wqykonywał co tę sekundę? Bo w seci wszędzie pisze że tak a ja już nie wiem nawet jak do tego się zabrać.
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 15:32:46
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Przecież Ci napisałem: AJAX i nawet linka dałem.

Cytat
Bo w seci wszędzie pisze że tak

Gdzie takie bzdury niby piszą?
PHP działa po stronie serwera, gdy już przekaże treść do przeglądarki, jego zadanie się definitywnie kończy a wkracza ewentualnie javascript.

Ten post edytował konrados 8.07.2012, 15:37:00
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 15:39:53
Post #5





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Wiem, zobaczyłem link jak już napisałem.

Teraz mam taki kod:

  1. <script type='text/javascript'>
  2. function test() {
  3. $('#right').load('footer.php #right');
  4. setTimeout('test()', 1000);
  5. }
  6. window.onload = test();
  7.  


i nadal nie działa ;/

z samą linijką

$('#right').load('footer.php #right');

też próbowałem

Ten post edytował GoOx 8.07.2012, 15:41:20
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 15:48:13
Post #6





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Po pierwsze wystarczy samo $('#right').load('footer.php'). Bo drugie widzę, że 'right' to klasa więc powinno być $('.right').load('footer.php'). Po trzecie - zaincludowałeś Ty jquery? Robimy np. tak:

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>


edit: a widzę, że right to i klasa i id, więc drugi punkt odpada.

Ten post edytował konrados 8.07.2012, 15:48:54
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 15:55:53
Post #7





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ok dodałem tą linijkę:

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>


i to :
$('#right').load('footer.php #right');


coś zaczęło się dzaić ponieważ cały pasek mi zniknął ale nie widać żadnych danych.
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 15:59:14
Post #8





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Mam dziwne wrażenie, że czytasz tak mniej więcej połowę postu... ma być:

$('#right').load('footer.php');//wyrzucone drugie #right

Poza tym włącz konsolę (F12 w chrome, firebug w FF) i zobacz czy nie ma jakichś błędów. No i upewnij się, że 'footer.php' znajduje się w tym samym folderze w którym masz ten cały skrypt.
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 16:03:18
Post #9





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----



Warning: mysql_query() [function.mysql-query]: Access denied for user 'user'

tylko że kod działał zanim dodałem do niego jquery.

Wszystko jest dobrze i znajduje się w tym samym folderze.
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 16:04:23
Post #10





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


To nie ma związku.

Rozumiem, że taka treść pojawia się w #right czyli błąd jest w footer.php tak? W takim razie no... napraw ten błąd.
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 16:09:53
Post #11





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dobra już wszystko wczytywane jest poprawnie lecz nie ma tego odświeżania.

  1. <script type='text/javascript'>
  2. $("#right").load('r.php');
  3. </script>

a wszystko teraz znajduje się w pliku r.php to co chcę odświeżać

Ten post edytował GoOx 8.07.2012, 16:10:44
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 16:11:43
Post #12





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


No ale gdzie tu masz jakieś setTimeout? Ma być prawie tak jak było:

  1. <script type='text/javascript'>
  2. function test() {
  3. $('#right').load('r.php');
  4. setTimeout('test()', 1000);
  5. }
  6. window.onload = test();
  7.  
  8. </script>


Ten post edytował konrados 8.07.2012, 16:11:54
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 16:16:01
Post #13





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


właśnie tak zrobiłem nadal nic ;/

Jest działa! wielkie dzięki zamiast window napisałem windows. Ale czapa :x

Ten post edytował GoOx 8.07.2012, 16:16:19
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 16:19:28
Post #14





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Spoko.
Co do 'windows' zamiast 'window' konsola błędów by to złapała, więc się z nią zaprzyjaźnij:)

Ten post edytował konrados 8.07.2012, 16:20:06
Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 17:52:08
Post #15





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dobra ostatnie pytanko słyszałemże w jquery trzeba osobno ustawić kodowanie? Jak to zrobić?

dodałem coś takiego:

$.ajaxSetup({
contentType: "application/x-www-form-urlencoded; charset=windows-1250",
});

Nadal mam kwadraty.

Ten post edytował GoOx 8.07.2012, 17:52:32
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 17:54:21
Post #16





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Chyba powinno wystarczyć, że obie strony (ta na której jest skrypt i ta ładowana) mają to samo kodowanie. Najlepiej utf-8.

Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 17:57:05
Post #17





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Właśnie mają te same kodowanie i z tego wychodzi że nie działa.
Go to the top of the page
+Quote Post
konrados
post 8.07.2012, 18:02:27
Post #18





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


A to już nie wiem, może kto inny się wypowie.
Nigdy nie miałem takich problemów. Może zamień kodowanie na utf-8. Ponadto upewnij się, że nie tylko zapisujesz jako utf-8 ale masz to też określone w head dokumentu:


  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Go to the top of the page
+Quote Post
GoOx
post 8.07.2012, 18:02:29
Post #19





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Jedynie mogę dać coś takiego:

  1. $lang_online_users = iconv('WINDOWS-1250', 'UTF-8', $lang_online_users);

i działa.

Kodowanie zmieniłem wszędzie na utf i tak to samo było ale można wymusić mu zmianę kodowania poprzez php.

Ten post edytował GoOx 8.07.2012, 18:03:50
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 06:02