Ir para conteúdo
Fórum Script Brasil
  • 0

O meu primeiro código Ajax


Frank K Hosaka

Pergunta

Estou apanhando demais, montando o meu projeto orçamento na gramática do MVC PHP, principalmente na hora de redirecionar os comandos. Redirecionar é bem fácil, o difícil é voltar para o ponto de partida. Compartilhei o meu problema com a Gemini, e ela me aconselhou a usar o Ajax, e com a ajuda dela eu montei o meu projeto. Ele funciona, só que depois de um minuto a caixa de inspeção do navegador reclama que encontrou um erro, e a Gemini só me orienta a estudar mais. Agora eu entendo porque a Script Brasil tirou o tópico JScript do fórum. Aqui está o meu código:

arquivo Index.php
<?php 
$mysqli=new mysqli("localhost","root","","diario");
$query=$mysqli->query("select * from tbprod where prod like '%pão%'");
$produtos=json_encode($query->fetch_all(MYSQLI_ASSOC));
echo $produtos;

arquivo teste.html
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script>
    $(document).ready(function() {
    $.get("Index.php", function(resultado) {
        $("#mensagem").html("json: <br>" + resultado)
        $("#tamanho").html("<br>tamanho:<br>" + resultado.length)
        produto=JSON.parse(resultado)
        $("#primeiroProduto").html("<br>primeiro produto:<br>" + produto[0].prod)})})
</script>
<style>body {width:800;margin:0 auto}</style>
<div id="mensagem"></div>
<div id="tamanho"></div>
<div id="primeiroProduto"></div>

<!-- mensagem de erro na inspeção do navegador, depois de um minuto:
Uncaught (in promise) Error: A listener indicated an asynchronous 
response by returning true, but the message channel closed before 
a response was received
-->

 

Captura de tela 2024-02-17 094112.png

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1

Adicione um manipulador .fail() à sua chamada AJAX para capturar e tratar quaisquer erros que possam ocorrer durante a requisição.

 

$.get("Index.php").done(function(resultado) {
  // Restante do código aqui
}).fail(function(jqXHR, textStatus, errorThrown) {
  console.log("Erro na requisição: ", textStatus, errorThrown);
});

 

Link para o comentário
Compartilhar em outros sites

  • 0
16 horas atrás, William Duarte disse:

Adicione um manipulador .fail() à sua chamada AJAX para capturar e tratar quaisquer erros que possam ocorrer durante a requisição.

 

$.get("Index.php").done(function(resultado) {
  // Restante do código aqui
}).fail(function(jqXHR, textStatus, errorThrown) {
  console.log("Erro na requisição: ", textStatus, errorThrown);
});

 

Não consegui adicionar o manipulador .fail( ), e testei o $.get( ).done( ), e depois de um minuto apareceu a mensagem de que o canal foi fechado mesmo obtendo a confirmação da consulta, se bem que tudo que era esperado foi publicado no navegador.

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...