Ajax não executa
Pessoal eu tenho a seguinte função:
function Carregar(){
$('#ChatZone').html('1');
$.post('Atualizar.php', function (palavra) {
$('#ChatZone').html('2');
UserID = "<?php echo $UserID; ?>"; //Pega do PHP o ID do usuário atualmente logado
LimiteMsg = 100; //Define quantas mensagens serão carregadas (LIMITE)
Msg = [];//Cria o array contendo as mensagens
for (var i = 0; i <= LimiteMsg; i++) {
Msg.push(palavra.mensagem);//Insere as mensagens no array
}
Org = [];//Cria o array para que saibamos quem originou a mensagem (via ID do usuário)
for (var i = 0; i <= LimiteMsg; i++) {
Org.push(palavra.origem);
}
Dest = [];//Cria o array para que saibamos quem é o destino da mensagem (via ID do usuário)
for (var i = 0; i <= LimiteMsg; i++) {
Dest.push(palavra.destino);
}
// Exibindo mensagem
//$('#ChatZone').html('<Recebido>' + mensagem.Recebido + '</Recebido><Enviado>' + mensagem.Enviado+'</Enviado>');
MensagensNovas = '';//String que conterá as mensagens com os códigos HTML para os estilos
for (var i = 0; i <= LimiteMsg; i++) {
if (Org[i] == UserID) {//verifica se o ID da origem é o mesmo do usuário, caso sim, a mensagem será estilizada como Enviada
MensagensNovas + MensagensNovas + '<Enviado>'+Msg[i]+'</Enviado><br>';
}else{//caso não seja, será estilizada como recebida
MensagensNovas + MensagensNovas + '<Recebido>'+Msg[i]+'</Recebido><br>';
}
}
//exibe as mensagens
$('#ChatZone').html(MensagensNovas);
}, 'JSON');
}
e essa função é iniciada através do código:
// Definindo intervalo que a função será chamada
setInterval("Carregar()", 1000);
// Quando carregar a página
$(function() {
// Faz a primeira atualização
Carregar();
});
Mas como podem observar nas linhas 2 e 4 do primeiro código, mandei que escrevesse 1 e logo após trocasse por 2 dentro da div ChatZone, porém ele põe o 1 e depois para, eu não consigo entender porque isso, antes ele exibia as mensagens coladas, por exemplo digamos que tempos as mensagens: "Olá, tudo bem?" e "Tudo sim e você?" aparecia Olá,tudo bem?Tudo sim e você?, depois de eu colocar os IF's para que eu pudesse estilizar as mensagens, o sistema parou de funcionar, não executa nem a primeira vez, não sei se vai ser útil mas vou por o código do arquivo Atualizar.php que foi referenciado no primeiro quadro:
<?php
// Incluindo arquivo de conexão
require_once('conectar.php');
session_start();
$log = $_SESSION['UserID'];// Selecionando uma frase aleatória
$stmt = $pdo->prepare("SELECT * FROM `mensagens` WHERE `destino` = '$log' OR `origem` = `$log` ORDER BY `hora` DESC ");// Se selecionado com sucesso
if ($stmt->execute())
{
// Armazenando frase
$frase = $stmt->fetchObject();
// Retornando frase em formato JSON
echo json_encode($frase);
}Discussão (3)
Carregando comentários...