Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX]odświeżanie diva AJAX
Forum PHP.pl > Forum > Przedszkole
boosik01
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ąć?
untorched
Nakierowanie..
Kod
var seconds = 30000;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.