ASP에서 요청 객체는 클라이언트가 제출 한 데이터를 얻는 데 매우 중요한 객체이며 모든 사람이 이에 대해 매우 친숙합니다. 그럼에도 불구하고 사람들은 종종 다음과 같은 글쓰기 방법이 다른 점을 묻고 어떻게 작성해야합니까?
strmessage = request ( "msg")
strmessage = request.form ( "msg")
또한, 나는 또한 많은 사람들이 작성한 코드를 보았습니다. 모두 요청 ( "")으로 작성되었습니다. 물론,이 글에 아무런 문제가 없습니다.
그러나 모든 사람은주의를 기울여야합니다
요청 객체에는 클라이언트가 제출 한 데이터를 얻기위한 여러 컬렉션이 있습니다. 일반적으로 QueryString, Form 및 ServerVariable이 일반적으로 사용됩니다.
요청 ( "")을 통해 실제로 어떤 컬렉션이 직접 얻어도 문제가 있습니다.
get 메소드 및 포스트 메소드는 username = cqq와 같은 동일한 변수를 제출 한 다음 요청 ( "사용자 이름")을 사용합니다.
Get 또는 Post에서 얻은 데이터는?
따라서이 시점에 문제가 발생하면 이러한 세트에서 데이터를 가져 오는 요청 시퀀스가 앞서서 앞뒤로 있다고 생각해야합니다.
순서는 쿼리 스트링, 양식 및 마지막으로 ServerVariable입니다. 요청 객체 가이 순서로 검색됩니다
이 세트에 변수가 있으면 중단되며 후속 변수는 무시됩니다. 따라서 위의 예제 요청 ( "사용자 이름")
검색되는 것은 실제로 GET 메소드에서 제출 한 데이터입니다.
따라서 효율성을 향상시키고 불필요한 검색 시간을 줄이고 프로그램 사양을 위해 요청을 사용하는 것이 좋습니다.
request.form ( "username")과 같은 메소드가 더 좋습니다.
다음은 테스트 예입니다. 제출 후 직접 username = aaa를 테스트 할 주소에 추가 할 수 있습니다.
<%
ifrequest ( "제출") <> ""그런 다음
response.write "직접 :"& request ( "username") & "<br>"
response.write "get :"& request.querystring ( "username") & "<br>"
response.write "take post :"& request.form ( "username") & "<br>"
endif
%>
<formname = form1action = ""메소드 = post>
<inputtype = testname = "username"value = "postuser">
<inputtype = subbitName = "제출"value = "test">
</form>