Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

uiLhian

Erro "Uncaught SyntaxError: Unexpected token <" ao clicar

Recommended Posts

Boa tarde,

estou montando uma galeria de imagens e estou usando esse código pra tipo quando eu clico em uma determinada imagem ela abra o conteudo da respectiva "imagem/pasta". só que quando clico na imagem ele me retorna o seguinte erro abaixo. bem na linha indicada.

function objetoAjax(){
var objeto;
if(window.XMLHttpRequest){
objeto = new XMLHttpRequest();
return objeto;
}else{
objeto = new ActiveXObject("Microsoft.XMLHTTP");
return objeto;
}
}


function exibeImagens(pasta_id,num_galeria){
var ajax = objetoAjax();
var url = "ajax.php?pasta="+pasta_id+"&num_galeria="+num_galeria;
ajax.open("GET",url,true);
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
var resposta = eval(ajax.responseText);  <-----//essa linha 59
                
$.fancybox.open(resposta, {
padding : 0,
nextEffect: "fade",
prevEffect: "fade",
openEffect: "fade",
closeEffect: "fade"
});                
}
}
}
ajax.send(null);
}

erro:

 

 

  1. Uncaught SyntaxError: Unexpected token < teste.php:59
    1. ajax.onreadystatechange

 

 

galeria_ajax.php

 <?phprequire_once("conexao.php");


$id_pasta = isset($_GET['pasta'])?$_GET['pasta']:0;


$query_str = "SELECT * FROM minha_tabela WHERE IDPASTA = ".$id_pasta;
$query = mysql_query($query_str);


$url_valor = "";


while($query_array = mysql_fetch_assoc($query)){
$url_valor .= "{href : 'http://localhost/imgs/PASTA_".$id_pasta."/".$query_array['IMAGEM']."'},";
}


echo "[".$url_valor."]";
?>

comando que lista/abre imagens:

 

<?php
$query_str = "Select * From imagem Where id_pasta = 0";
$query = mysql_query($query_str);

$x = 1;

while($query_array = mysql_fetch_assoc($query)){
    echo "<div class='galeria'><a class='galeria_".$x."' href='javascript:void(0);' onclick=\"javascript:exibeImagens(".$query_array['id'].",".$x.");\"><img src='img/".$query_array['imagem']."' width='200' /></a></div>";
    $x++;
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou fechar alguma tag ou algum ponto e virgula não esta no lugar correto ou alguma função não foi fechada corretamente.

Siga essa linha de racicionicnio, vá até a linha e veja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nussa pior que ja revirei tudo aqui e não vejo nada de "anormal" o que ta ae é o que tenho aqui de comando... ;(

Compartilhar este post


Link para o post
Compartilhar em outros sites

a onde acusa o erro do debug do chrome é essa linha:

 

var resposta = eval(ajax.responseText); <-----//essa linha 59 onde acusa o erro

o código inteiro é o primeiro la em cima.

 

o comando que imprime as imagens é esse

 


echo "<div class='galeria'><a class='galeria_".$x."' href='javascript:void(0);' onclick=\"javascript:exibeImagens(".$query_array['id'].",".$x.");\"><img src='img/".$query_array['imagem']."' width='200' /></a></div>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem mergulhar a fundo no problema, eu diria que o gatilho do problema seria essa linha:

<?phprequire_once("conexao.php");

 

Que faltou um espaço entre o <?php e o require.

 

Uma consideração é que o seu debug apontou a linha 59 da execução do HTML e não do PHP, atente para a diferença :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas bruno isso <?phprequire_once("conexao.php"); deve ter ficado assim na hora de postar aqui, pois aqui no meu esta:

<?php
  require_once("conexao.php");
  ...
?>

e nada de funcionar :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por isso que minha proposição foi feita superficialmente. ;)

 

Bom, simulei seu código com valores falsos e sintaticamente está correto. Como o erro foi apresentado pelo Console do Chrome e este aponta erros de HTML/JS/CSS e relacionados, olhei o seu JSON criado manualmente.

 

Passei ele pelo JSONLint e foi apontado como inválido. Coloquei aspas duplas em volta de href e da URL e validou.

 

Veja se isso resolve o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui vc fala ?

 

$url_valor .= "{href : 'http://localhost:8080/imagens/obras/PASTA_".$id_pasta."/".$query_array['IMAGEM']."'},";

ou aqui:

 

echo "<div class='thumb'><a class='OBRA_".$x."' href='javascript:void(0);' onclick=\"javascript:exibeImagens(".$query_array['ID'].",".$x.");\"><img src='thumb.php?img=imagens/obras/".$query_array['IMAGEM']."' /></a></div>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha só instalei o FIREFOX E O FIREBUG pra testa aqui, ae ele ta me retornando o seguinte erro na hora que clico na "imagem" pra abrir...

<?xml version="1.0" encoding="iso-8859-1"?>[{href : 'http://localhost/imgs/PASTA_1/IMG01.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG02.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG03.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG04.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG05.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG06.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG07.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG08.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG09.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG10.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG11.jpg'},{href : 'http://localhost/imgs/PASTA_1/IMG12.jpg'},]

 

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o arquivo conexao.php

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

 

print('<?xml version="1.0" encoding="iso-8859-1"?>');

 

 

$dados['usuario'] = "user";

$dados['senha'] = "senha";

$dados['servidor'] = "localhost";

$dados['banco'] = "banco";

 

 

$conectar = mysql_connect($dados['servidor'],$dados['usuario'],$dados['senha']) or die(mysql_error());

$bancodedados = mysql_select_db($dados['banco'],$conectar) or print(mysql_error());

 

 

class conexao {

var $obj = array ("servidor" => "localhost","usuario" => "usuario","senha" => "senha","banco" => "banco");

var $conexao = "";

var $msg_erro = true;

 

function Abrir() {

@$this->conexao = mysql_connect($this->obj['servidor'], $this->obj['usuario'], $this->obj['senha']);

 

if (mysql_errno() == 2005 and $this->msg_erro == 1) {

echo "Mysql_Error(2005) : Servidor nao foi encontrado <b>[".$this->obj["servidor"]."]</b>";

exit;

}

elseif (mysql_errno() == 1045 and $this->msg_erro == 1) {

echo "Mysql_Error(1045) : Nome ou Senha invalidos";

exit;

}

if (mysql_errno() == 0 and $this->msg_erro == 1) {

if ( !mysql_select_db($this->obj["banco"], $this->conexao)) {

echo "Mysql_Erro(1049) Banco <b>[".$this->obj["banco"]. "</b>] nao foi encontrado";

exit;

}

}

}

function Fechar() { if (isset($this->conexao)) { return mysql_close($this->conexao); } }

}

 

 

class ComandoSql extends conexao {

 

 

function Executar($sql) {

$this->Abrir();

$re = @mysql_query($sql);

$this->checa_query($sql);

$this->Fechar();

return $re;

}

function checa_query($sql) {

if (mysql_errno() == 1146 and $this->msg_erro == 1) {

$erro = mysql_error();

$arr = explode("'", $erro);

$tabela = explode(".", $arr[1]);

echo "Essa tabela <b>[ ".$tabela[1]." ]</b> não existe!";

exit();

}

if ( mysql_errno() == 1054 and $this->msg_erro == 1 ) {

echo "Existe algum campo com nome errado";

exit();

}

if (mysql_errno() == 1064 and $this->msg_erro == 1 ) {

$msg = "Existe algum erro na sintaxe SQL: <br />";

$sql = preg_replace(sql_regcase("/(select|insert|delete|drop table|alter table|from|where|limit|\*|order by|group by)/"),"<font color=\"blue\">\\1</font>",$sql);

echo "$msg [<font color=\"red\">$sql</font>]";

exit();

}

}

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto, tá ai o teu xml.

 

se o teu retorno é json, não tem pq vc ter esse cabeçalho de xml ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é logo que pois aqui pra vc, resolvi tira ele pra testa e deu certo... ;)

 

só mais uma coisinha, esse código de "conexão" é usado hj em dia ?

ou tem outro mais seguro ou "melhor" ?

 

pois eu tenho isso ae ja faz alguns aninhos ja ;)

 

e obrigado a todos pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.