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:
<script type='text/javascript'>
function ajaxss
(link, a
) { $.ajax({
type: 'GET',
data: { a: a},
success: function(data){
return_data_ajaxss = data;
},
async: false
});
return return_data_ajaxss;
}
var seconds = 30000;
var refresh = setInterval(function(){
$('#talker_ogolny').html(ajaxss);
}, seconds);
function odswiezaj(){
$(function(){ $('#talker_ogolny').html(ajaxss); });
}
</script>
<script type='text/javascript'>
ajaxss('', 'chat_wpisy');
</script>
main.tpl
{include file = 'top.tpl'} <h2>Chat</h2>
</div>
<div class="wrapper">
<div id="chat">
<form action='?action=main' method='post' name='chat' accept-charset='utf-8'>
<div>
<input type='text' name='wpis_message' value='' size='78' />
<input type='submit' name='nowy_wpis' value='Wyślij'>
<button onclick=\"odswiezaj()\" tabindex='3'>Odśwież</button>
</div>
{literal}<script type='text/javascript'>odswiezaj();</script>{/literal}
</form>
<div style='overflow-x:hidden;overflow-y:scroll;height:600px;' id='talker_ogolny'>
</div>
{include file = 'bottom.tpl'}
main.php
<?php
require_once('configs/config.php') ;
if($_POST['nowy_wpis'])
{
$stmt = $pdo->prepare("INSERT INTO chat (sender, text) VALUES (?, ?)");
$stmt->bindParam(1, $player->user);
$stmt->bindParam(2, $_POST['wpis_message']);
$stmt -> execute();
}
$temp->display('main.tpl');
?>
chat_wpisy.tpl
{foreach from=$x item=v}
<i>{$v.sender}</i>
<b>{$v.text}</b>
<br />
<br />
{/foreach}
chat_wpisy.php
<?php
$sql = "SELECT * FROM chat ORDER BY id DESC LIMIT 10";
$q = $pdo->query($sql) or
die("failed!");
foreach($q as $r){
$x[] = $r;
}
$temp->assign("x", $x);
$temp->display('chat_wpisy.tpl');
?>
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