[Cascavel-pm] requisiçãos AJAX (via script.pl) com muitos caracteres
Agnaldo Macedo
agnaldo em starweb-software.com.br
Sexta Agosto 29 08:30:47 PDT 2008
Via GET é gerado um cabelho HTTP mais ou menos assim:
----------------------------------------------------------------------
GET /tuaPagina.pl?campo1=valor1&campo2=valor2 HTTP/1.1
Host: www.servidor.com
----------------------------------------------------------------------
Via POST, o cabeçalho é diferente.
Seria algo como
----------------------------------------------------------------------
POST /tuaPagina.pl HTTP/1.1
Host: www.servidor.com
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
campo1=valor1&campo2=valor2
----------------------------------------------------------------------
As linhas tracejadas fui eu que pus apenas para delimitar o conteúdo.
Note que o corpo de uma requisição POST é defirente.
Ele é composto pelos dados a serem enviados.
A opção Content-Length: 27 indica que devem ser lidos 27 bytes como sendo o
conteúdo do corpo, no caso, campo1=valor1&campo2=valor2
Aqui na WikiPédia tem um tópico sobre isso
http://pt.wikipedia.org/wiki/HTTP
----- Original Message -----
From: <fernandolouis em terra.com.br>
To: "Agnaldo Macedo" <agnaldo em starweb-software.com.br>; "Cascavel Perl
Mongers" <cascavel-pm em pm.org>
Sent: Friday, August 29, 2008 12:03 PM
Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos
caracteres
> Agnaldo, entendi que trocando o método de envio de GET para POST vou ter
> que avisar o tipo de conteúdo (content-type). Com GET não precisava pois o
> servidor já sabe que o método GET vem por URL, ou seja, somente texto.
>
> Então, com POST, devo enviar todas os parâmetros das minhas variáveis... e
> não deixá-lo mais como send(null), e sim como send (tudo que o servidor
> deverá ler no meu script.pl)
>
> Mas não entendi o por que da utilização de:
>
> request.setRequestHeader("Content-length",
> variavelQueTemOsTeusDados.length );
>
> Por que devo usá-lo?
>
> []s,
> Fernando
>
> ----- Original Message -----
> From: "Agnaldo Macedo" <agnaldo em starweb-software.com.br>
> To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
> Sent: Thursday, August 28, 2008 6:00 PM
> Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos
> caracteres
>
>
>
>
> Completando....
>
> Altere:
> request.open("GET", url, true);
> request.onreadystatechange = updatePage;
> request.send(null);
> Para algo como:
> request.open("POST", url, true);
> request.setRequestHeader("Content-Type",
> "application/x-www-form-urlencoded");
> request.setRequestHeader("Content-length",
> variavelQueTemOsTeusDados.length );
> request.onreadystatechange = updatePage;
> request.send(variavelQueTemOsTeusDados);
>
>
>
>
Mais detalhes sobre a lista de discussão Cascavel-pm