Lentidão ao exibir dados buscados pelo Ajax com php

20/12/2019

0

Boa tarde galera :D

Tenho um site, onde tenho um sessão de blog, porém quando o sistema está buscando os artigos, demora um pouco a exibir

A estrutura que estou utilizando:

pagina PHP > Ajax Call (jquery utiliza ajax para requisitar dados via POST (resposata json)) > PHP Controller (filtra a função enviada pelo ajax e faz a requisição dos dados para o model) > PHP Model (mysql requisição)

Exemplo da função para exibir os artigos:

Example of function to show blog articles:
[code=js]
function buscaTodos(current = 1){
$(''.lista_materias'').empty();//cleans container of articles
try{
showLoader();//loader

$.ajax({
type: ''POST'',
url: ''controller/ajax/Artigos.ajax.php'', //php controller
data: {
''func'': "buscaTodos",//php function
''current'': current
},
success: function(response) {
var res = response.split(''[:::]'');//parse response of php. Example: 1 to success 0 to error->1[:::]{json response here}

if(res[0]==1){//if response is success

var obj = JSON.parse(res[1]);//parse json response

jQuery.each(obj,function(o, i){
//FILL WITH ARTICLES
$(".lista_materias").append(
''<div class="col-sm-12 col-md-6 col-lg-4" style="margin-bottom:10px;">''+
''<div class="course-box">''+
''<div class="image-wrap entry">''+
''<img src="images/geral/defer.gif" data-src="images/geral/defer.gif" data-original="images/artigos/''+i[''img_box'']+''.jpg" data-webp="images/artigos/''+i[''img_box'']+''.webp" class="imgElastic img-webp" alt="''+i[''figcaption'']+''" title="''+i[''figcaption'']+''" class="img-responsive" />''+
''<div class="magnifier">''+
''<a href="artigos/''+tituloUrl(i[''uu''])+''/" title=""><i class="flaticon-add"></i></a>''+
''</div>''+
''</div><!-- end image-wrap -->''+
''<div class="course-details">''+
''<h4>''+
''<small>Detetive Particular Blog</small>''+
''<a href="artigos/''+tituloUrl(i[''uu''])+''/" title="">''+i[''titulo'']+''</a>''+
''</h4>''+
''<p class="desc_artigo">''+i[''descricao'']+''</p>''+
''</div><!-- end details -->''+
''<div class="course-footer clearfix">''+
''<div class="pull-left">''+
''<ul class="list-inline">''+
''<li><a href="artigos/''+tituloUrl(i[''uu''])+''"><i class="fa fa-user"></i> Detetive Particular André</a></li>''+
''<li><a href="artigos/''+tituloUrl(i[''uu''])+''"><i class="fa fa-clock-o"></i> ''+converteDataTimeUsToBr(i[''data_criacao''])+''</a></li>''+
//''<li><a href="artigos/''+tituloUrl(o.url)+''"><i class="fa fa-eye"></i> ''+o.contador+'' Views</a></li>''+
''</ul>''+
''</div><!-- end left -->''+
''</div><!-- end footer -->''+
''</div><!-- end box -->''+
''</div><!-- end col -->''
);
});
}else{
//showAlert("Bancos",res[1],2);
showAlert("Falha ao consultar", "Ocorreu um erro ao consultar os dados. Atualize a página ou entre contato por telefone. \n <span class=''code''></span>", 1,''<button type="button" class="btn btn-danger radius_md" data-dismiss="modal">Fechar</button>'');
}
hideLoader();
},complete(){
getWebp();
}
});



}catch(erro){
hideLoader();
showAlert("Falha ao consultar", "Ocorreu um erro ao consultar os dados. Atualize a página ou entre contato por telefone. \n <span class=''code''>"+erro.message+"</span>", 1,''<button type="button" class="btn btn-danger radius_md" data-dismiss="modal">Fechar</button>'');
}
Marcus

Marcus

Responder

Posts

24/12/2019

Callink Ltda

Já testou sua query e medir o desempenho dela?
Responder

26/12/2019

Marcus

Já testou sua query e medir o desempenho dela?


Olá, tudo na paz?!

Medi sim, na verdade a query não utiliza muitos joins e são poucos dados (uns 20 registros).
Semana passada dei uma estudada, notei que a lentidão está realmente no ajax do Jquery, onde ele faz a chamada e aguarda uma resposta do arquivo php. Ainda não sei como resolver.

Outro teste que fiz, foi utilizar a mesma estrutura de chamada, direto pelo php (sem o ajax/jquery), não tem lentidão nenhuma
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar