Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Ajax JQuery

Olá, estou com uma dúvida em relação a utilização do ajax do JQuery. Estou fazendo o seguinte ajax:

  $.ajax({
              type: "POST",
              url: url,
              data: params,
              cache: false,
              timeout: 1800000,
              error: function(jqXHR, textStatus, errorThrown) {
                console.log("textStatus "+textStatus);
                console.log(errorThrown.message);
                if(textStatus == "timeout") {

                }
              }}).done(function( data, textStatus, jqXHR ) {
                var dataObject = JSON.parse(data);
                callback(dataObject);
              });

tudo funciona normalmente. Porém existem alguns casos em que este método demora mais de 12 minutos para ser executado. Oque ocorre é que após esta chamada o jquery fica chamando o webservice com exatamente a mesma requisição a cada 2 minutos, gerando assim um loop pois a requisição fica sendo chamada e o webservice nunca consegue responder nesse dois minutos. como faço para aumentar este tempo de 2 minutos? existe alguma forma?

desde já agradeço

6 respostas

Fala ai Lucas, beleza ?

Cara nunca vi esse erro acontecer com o jQuery, olhando a documentação pode ver que o mesmo não é executado novamente, pode o código completo, explique em qual momento esta fazendo a requisição e tals.

Abraçooos

é matheus, você tem razão... oque ocorre é que esse ws é desenvolvido em node com express e faz um request para um segundo webservice. no caso esta requisição esta sendo reenviada, você saberia alguma configuração que eu poderia para aumentar esse tempo de 2 minutos? O router que eu utilizo é o express.Router();

Certo, vamos por partes, primeiro preciso entender porque esta fazendo uma requisição para um serviço que requisita outro.

O que seria essa primeira requisição ? O que seria a segunda ? Em qual momento elas são feitas ?

é um sistema que requisita para ele mesmo, porém alguns dados estão em um sistema de terceiro. seria uma "integração". são feitas de forma sincrona, a primeira é feita da pagina para seu próprio servidor de aplicação, a segunda é feita para o servidor que consulta o banco do terceiro.

Certo, ai teria que dar uma olhada como esta toda essa configuração e tals, pois eu tenho um web service que faz exatamente isso, eu busco nele e ele busca em um terceiro, mas não tenho problema algum em relação a repetir o request.

solução!

router.post('/........', function(req, res){ res.connection.setTimeout(0); .... (método) .... });

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software