Jump to content
  • 0
Rafael da Silveira

Requisição ajax com retorno Json não funciona se trocar tabela

Question

Galera, estou com um problema...e não consigo intender o porque.

 

Tenho uma pagina, que faz uma requisição php via ajax, que me retorna uma consulta em json.

Tudo estava funcionando nos testes até que troquei o nome da tabela e bum...na acontece.

 

Função que faz a requisição

//AJAX CARREGAMENTO DA DADOS
function getData(url,search,action){
	self = this;
	this.completed = action;
	
	if(window.XMLHttpRequest){
		ajax = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
		
	ajax.onreadystatechange = function(){
		if(ajax.readyState == 4){
			self.completed(JSON.parse(ajax.responseText));
		}
	}
		
	if(search != undefined){
		url = url + "?search=" + search
	}else{
		url = url + "?search=";
	}

	ajax.open('POST',url,true);
	ajax.send();
}

 

Pagina que faz a chamada 

	function listingAgenda(data){
		document.querySelector('#list-agenda results').innerHTML = '';
		for(i=0; i < data.length; i++){
			document.querySelector('#list-agenda .results').innerHTML += data[i].id + "<br>"; 
		}
	}
                                 
	//CARREGAMENTO AO ABRIR A JANELA
	getData('modules/agenda/motor-get-data.php','',function(data){
		listingAgenda(data);	
	});

PHP 

<?php
	header('Cache-Control: no-cache, must-revalidate'); 
	header('Content-Type: application/json; charset=utf-8');

	$database = '@rdmoveisplanejados';
	
	$search = $_GET['search']; 
	
	
	try{
		if($search == ''){
			$conn = new PDO("mysql:host=localhost;dbname=$database", "root", "");
			$sql = $conn->prepare("SELECT * FROM tbl_caixa ");
			$sql -> execute();
			$row = $sql->fetchAll(PDO::FETCH_ASSOC);
			
			echo json_encode($row);
		}
	}catch(PDOException $e){
		echo "Falha:001<br>";
		echo "Erro:" . $e->getMessage();
		exit;
	}
?>

 

 

QUANDO O BANCO DE DADOS CAIXA È SELECIONADO, FUNCIONA PERFEITAMENTO RETORNANDO UM ARRAY DE OBJETOS JSON

MAS QUANDO ALTERO A TABELA DE CONSULTA NÂO ACONTECE NADA.
 

ALGUMA LUZ?

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Olá!

Creio que você vai precisar verificar se a query foi executada com sucesso.

Provavelmente uma estrutura try catch

 

Verifique também se a outra tabela não está vazia!

  • +1 1

Share this post


Link to post
Share on other sites
  • 0

Boa tarde.

 

Ao amigos que por ventura tiverem o problema...que esta na codificação utf8...o json faz essa tradução....intão quando ele encontra Ç...ou acentuação e da erro.

 

Estou estudando e procurando com resolver de maneira eficaz o problema.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By msantino
      Bom dia.
       
      Estou desenvolvendo uma aplicação que vai acessar e gravar dados via webservice dentro do nosso crm... mas estou com um problema que quando tento fazer o acesso mostra a seguinte mensagem de erro:
       
      Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'http://dsksp015.phonoway.com.br:8051/wsDataServer/mex?xsd=xsd0' in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php:113 Stack trace: #0 /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php(113): SoapClient->SoapClient('http://187.93.2...') #1 {main} thrown in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php on line 113
       
      Não sei se faz alguma diferença, mas nosso CRM é o TOTVS RM
       
      Grato.
    • By mamotinho
      Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
       
      $arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
      $arraySelect->execute();
      $arrayExemple = $arraySelect->fetchAll();

      procedure_list = array($arrayExemple);
       
      !in_array($valorSelect, $procedure_list){
         echo 'O Valor selecionado não existe nos resultados da procedure';
      }
       
       
      alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
    • By asacap1000
      Galera já não sei mais onde procurar, estou configurando o processo de login com certificação digital porém não consigo ler o retorno. No site da Certisign explica em java e .Net mas utilizo em minha aplicação da intranet tudo em PHP como eu teria que fazer. Segue exemplo que eles fornecem em .Net
       
      <form action="https://autenticador.certisign.com.br/CertisignLogin/certificado/login" method="get"> <input type="hidden" value="209" id="id" name="id"> <input type="hidden" value="CHAVE CRIPTOGRAFICA INICIAL" id="nome" name="nome"> <input type="hidden" value="http://www.seusite.com.br/suaAplicacao/retorno" id="retorno" name="retorno"> <div> <input type="image" src="images/ico-certisign_30x30.png" alt="Submit" id="btnLoginCertisign"> </div> </form> O de cima envia até aí tudo bem
       
      Abaixo o retorno que é o que não consigo fazer em PHP
       
      string retorno = Request["cb"]; string encryptionKey = "<conteúdo da chave criptográfica descarregada na etapa 2>"; retorno = CryptoLogin.Instance.DecryptText(retorno,encryptionKey);</conteúdo> A variável retorno deverá mostrar as informações como o exemplo aaixo.
       
      CertificadoBean: { emissor: Certisign Autoridade Certificadora TESTE, nome: "PROPRIETARIO DO CERTIFICADO DE TESTE", cpf: "001.002.003-44", cnpj: "", OAB: "", validade: "2015-05-27 20:59:59", emissao: "2014-05-27 21:00:00", email: "proprietario.teste@certisign.com.br", certificadoBase64: "MIIFmDCCBICgAwI...... BAQUFADCCARAx" }  
    • By Luis Fernando R. Valle
      Estou desenvolvendo um site de vinhetas, mas estou com o seguinte problema. Quando o cliente clica em um áudio ele toca normalmente, mas quando clica em um segundo com o primeiro ainda em execução, ficam os dois áudios executando ao mesmo tempo no sit.
      Gostaria que um executasse por vez.
       
      Lembrando que os áudios estão inseridos separadamente.
    • By Camilavip
      Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli
       
      Em estados no banco está assim
      CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades
      CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros
      CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.