/**
Descrição: Pequenos problemas aos quais você precisa prestar atenção ao usar o objeto ASP Request Autor: Ci Qinqiang
E-mail: [email protected]
**/
Em ASP, o objeto Request é um objeto muito importante para obtenção dos dados enviados pelo cliente e todos estão familiarizados com ele.
Mesmo assim, muitas vezes as pessoas me perguntam quais são as diferenças entre os seguintes métodos de escrita e como devem ser escritos.
strMensagem = Solicitação("mensagem")
strMessage = Request.Form("msg")
Além disso, tenho visto códigos escritos por muitas pessoas, e todos eles são escritos no modo Request("") É claro que não há nada de errado com essa forma de escrever.
Mas todos deveriam prestar atenção
O objeto Request possui diversas coleções para obter os dados enviados pelo cliente. As mais utilizadas são QueryString, Form e ServerVariables.
Não importa o tipo de coleção, ela pode ser obtida diretamente através de Request(""). Há um problema aqui.
O método Get e o método Post enviam a mesma variável, como nome de usuário=cqq, então você usa Request("nome de usuário")
Os dados são retirados do Get ou dos dados do Post?
Então, quando a questão chega a esse ponto, todos deveriam pensar nisso. Request pega os dados dessas coleções em ordem. A ordem do início para o fim é QueryString, Form e, finalmente, ServerVariables. O objeto Request pesquisa as variáveis nessas coleções nesta ordem. Se houver uma correspondência, ele irá parar e o restante será ignorado. Portanto, o exemplo acima Request("username")
O que realmente se obtém são os dados submetidos pelo método Get.
Portanto, para melhorar a eficiência, reduzir o tempo de busca desnecessário e também padronizar o programa, é recomendável utilizar o método de coleta Request, como Request.Form("username").
A seguir está um exemplo de teste. Após o envio, você pode adicionar ?username=aaa diretamente após o endereço a ser testado:
<%
Se request("enviar")<>""então
Response.Write "Obter diretamente:"& Request("nome de usuário") & "<br>"
Response.Write "Get:" & Request.QueryString("nome de usuário") & "<br>"
Response.Write "Obter postagem:" & Request.Form("nome de usuário") & "<br>"
Terminar se
%>
<nome do formulário=form1 action="" método=post>
<tipo de entrada = nome de teste = "nome de usuário" valor = "postuser">
<input type=submit name="submit" value="test">
</form>