/**
Описание: Небольшие проблемы, на которые следует обратить внимание при использовании объекта запроса ASP. Автор: Ци Циньцян.
Электронная почта: [email protected]
**/
В ASP объект Request является очень важным объектом для получения данных, отправленных клиентом, и каждый с ним хорошо знаком.
Несмотря на это, люди часто спрашивают меня, в чем разница между следующими методами письма и как их следует писать?
strMessage = Запрос("сообщение")
strMessage = Request.Form("msg")
Более того, я видел коды, написанные многими людьми, и все они написаны способом Request(""). Конечно, в таком способе написания нет ничего плохого.
Но каждый должен обратить внимание
Объект Request имеет несколько коллекций для получения данных, отправленных клиентом. Обычно используются QueryString, Form и ServerVariables.
Независимо от того, какая коллекция, ее можно получить напрямую через Request(""). Здесь есть проблема.
Метод Get и метод Post отправляют одну и ту же переменную, например username=cqq, затем вы используете Request("username")
Данные взяты из Get или из Post?
Итак, когда вопрос доходит до этого момента, каждый должен подумать об этом. Request берет данные из этих коллекций по порядку. Порядок: QueryString, Form и, наконец, ServerVariables. Объект Request ищет переменные в этих коллекциях в этом порядке. Если есть совпадение, он останавливается, а остальные игнорируются. Итак, приведенный выше пример Request("username")
Фактически получаются данные, отправленные методом Get.
Поэтому, чтобы повысить эффективность, сократить ненужное время поиска, а также стандартизировать программу, рекомендуется использовать метод сбора данных Request.Form("username").
Ниже приведен тестовый пример. После отправки вы можете напрямую добавить ?username=aaa после адреса для тестирования:
<%
Если запрос("отправить")<>"" тогда
Response.Write "Получить напрямую:"& Request("username") & "<br>"
Response.Write "Get:" & Request.QueryString("username") & "<br>"
Response.Write "Получить сообщение:" & Request.Form("имя пользователя") & "<br>"
Конец, если
%>
<имя формы=form1 action="" метод=post>
<input type=test name="username" value="postuser">
<input type=submit name="submit" value="test">
</форма>