Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AJAX]odświeżanie diva AJAX
boosik01
post
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 1
Dołączył: 19.08.2009

Ostrzeżenie: (10%)
X----


Cześć, próbuję napisać chat z odświeżaniem ajax + system szablonów smarty. Lecz zamiast wyświetlania tekstów w divie to wyświetlona zostaje mi moja strona.

Skrypt ajax:

  1. <script type='text/javascript'>
  2. function ajaxss(link, a) {
  3. $.ajax({
  4. url: link,
  5. type: 'GET',
  6. data: { a: a},
  7. success: function(data){
  8. return_data_ajaxss = data;
  9. },
  10. async: false
  11. });
  12. return return_data_ajaxss;
  13. }
  14. var seconds = 30000;
  15. var refresh = setInterval(function(){
  16. $('#talker_ogolny').html(ajaxss);
  17. }, seconds);
  18. function odswiezaj(){
  19. $(function(){ $('#talker_ogolny').html(ajaxss); });
  20. }
  21. </script>
  22. <script type='text/javascript'>
  23. ajaxss('', 'chat_wpisy');
  24. </script>


main.tpl
  1. {include file = 'top.tpl'}
  2. <h2>Chat</h2>
  3. </div>
  4. <div class="wrapper">
  5.  
  6. <div id="chat">
  7.  
  8.  
  9.  
  10. <form action='?action=main' method='post' name='chat' accept-charset='utf-8'>
  11. <div>
  12. <input type='text' name='wpis_message' value='' size='78' />
  13. <input type='submit' name='nowy_wpis' value='Wyślij'>
  14. <button onclick=\"odswiezaj()\" tabindex='3'>Odśwież</button>
  15. </div>
  16.  
  17. {literal}<script type='text/javascript'>odswiezaj();</script>{/literal}
  18.  
  19. </form>
  20. <div style='overflow-x:hidden;overflow-y:scroll;height:600px;' id='talker_ogolny'>
  21. </div>
  22. {include file = 'bottom.tpl'}


main.php
  1. <?php
  2. require_once('configs/config.php') ;
  3.  
  4. if($_POST['nowy_wpis'])
  5. {
  6. $stmt = $pdo->prepare("INSERT INTO chat (sender, text) VALUES (?, ?)");
  7. $stmt->bindParam(1, $player->user);
  8. $stmt->bindParam(2, $_POST['wpis_message']);
  9. $stmt -> execute();
  10. }
  11.  
  12. $temp->display('main.tpl');
  13. ?>


chat_wpisy.tpl
  1. {foreach from=$x item=v}
  2.  
  3. <i>{$v.sender}</i>
  4.  
  5. <b>{$v.text}</b>
  6.  
  7. <br />
  8.  
  9. <br />
  10.  
  11. {/foreach}


chat_wpisy.php
  1. <?php
  2. $sql = "SELECT * FROM chat ORDER BY id DESC LIMIT 10";
  3.  
  4. $q = $pdo->query($sql) or die("failed!");
  5.  
  6. foreach($q as $r){
  7.  
  8. $x[] = $r;
  9. }
  10. $temp->assign("x", $x);
  11. $temp->display('chat_wpisy.tpl');
  12.  
  13. ?>


Editt:// Problem rozwiązany, lecz mam jeszcze jedno pytanie. Testuje skrypty na webservie, i dla testów patrze na dwóch kompach czy mi się odświeża automatycznie, na moim wszystko jest ok, tzn gdy na drugim coć napiszę - u mnie to wyświetli, leczna drugim kompie odświeżanie strony trwa bardzo długo, i żadnych tekstów już nie wyświetla, lecz na innych już podstronach wczytywanie idzie normalnie. Podejrzewam że jest to wina ajax, tylko nie mam pojęcia gdzie dokładnie leży ten problem, mógłby ktoś mnie jakoś na kierowąć?

Ten post edytował boosik01 23.08.2012, 20:47:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
untorched
post
Post #2





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

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


Nakierowanie..
Kod
var seconds = 30000;
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 Aktualny czas: 20.08.2025 - 12:59