geeky stuff: chamadas ajax

Uma das minhas ferramentas favoritas da actualidade é o jQuery mas não vale a pena estar sempre a repetir de que forma ela altera todo o processo de desenvolvimento client-side web.

Algo que passou a ser bastante trivial de fazer foram as chamadas ajax. Por esta altura já toda a gente sabe que a técnica em si mesma não é nova mas de qualquer forma não fossem um conjunto de técnicas e ferramentas que surgiram nos últimos anos e ainda estariamos na web1.0

Assim, para fazermos pedidos Ajax em jQuery temos simplesmente que:

     $.ajax({
        type: "GET",
        url: endereco.aspx,
        dataType: "text",
        data: { 'Operation': 'nome',
                'nome_parametro1': 'valor_parametro1' },
        success: function(data, textStatus){
                   alert('ok');
                 },
        complete: function(XMLHttpRequest, textStatus){
                    alert('fim');
                  },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
                  alert("erro:" + XMLHttpRequest.responseText);
              }
      });

      alert('teste');

De notar que neste exemplo estou a assumir que o resultado vai ser um pedaço de JSON.
Uma questão que convém sempre relembrar é que, pelo menos neste exemplo, as chamadas são assíncronas (é o primeiro A de Ajax), e por isso a ordem pelo qual o código é executado pode pregar algumas partidas, ou seja, aquele ultimo alert(‘teste’) poderá não correr só depois de completada a instrução $.ajax já que, a partir do momento em que é feita a chamada ajax, esse bocado do código passa a correr “paralelamente” (não é, mas quase) ao código que está na instrução seguinte (neste caso o alert(‘teste’).
De referir ainda que o bocado que está no “complete” vai ser sempre executado indepdentemente do resultado ter sido “success” ou “error”.

por Vitor Silva



Leave a Reply