ใน ASP วัตถุคำขอเป็นวัตถุที่สำคัญมากในการรับข้อมูลที่ส่งโดยลูกค้าและทุกคนคุ้นเคยกับมันมาก อย่างไรก็ตามเรื่องนี้ผู้คนมักถามฉันว่าวิธีการเขียนต่อไปนี้แตกต่างกันอย่างไรและฉันควรเขียนอย่างไร
strMessage = คำขอ ("msg")
strMessage = request.form ("msg")
ยิ่งกว่านั้นฉันได้เห็นรหัสที่เขียนโดยหลาย ๆ คนซึ่งทั้งหมดถูกเขียนตามคำขอ ("") แน่นอนว่าไม่มีอะไรผิดปกติกับการเขียนนี้
แต่ทุกคนควรให้ความสนใจ
วัตถุคำขอมีคอลเลกชันหลายรายการเพื่อให้ได้ข้อมูลที่ส่งโดยลูกค้า โดยทั่วไปจะใช้ QueryString รูปแบบและ ServerVariables
ไม่ว่าคอลเลกชันใดจะได้รับโดยตรงจากคำขอ ("") มีปัญหาที่นี่
วิธีการรับและวิธีการโพสต์ส่งตัวแปรเดียวกันเช่น username = cqq จากนั้นคุณใช้คำขอ ("ชื่อผู้ใช้")
ข้อมูลได้มาจาก Get หรือ Post หรือไม่?
ดังนั้นเมื่อปัญหามาถึงจุดนี้คุณควรคิดว่ามีลำดับที่คำขอดึงข้อมูลจากชุดเหล่านี้จากด้านหน้าไปด้านหลัง
คำสั่งซื้อคือ QueryString, ฟอร์มและในที่สุด ServerVariables คำขอวัตถุจะถูกค้นหาในลำดับนี้
หากมีตัวแปรใด ๆ ในชุดเหล่านี้พวกเขาจะถูกยกเลิกและตัวแปรที่ตามมาจะถูกละเว้น ดังนั้นคำขอตัวอย่างข้างต้น ("ชื่อผู้ใช้")
สิ่งที่ดึงมาคือข้อมูลที่ส่งโดยวิธี GET
ดังนั้นเพื่อปรับปรุงประสิทธิภาพและลดเวลาการค้นหาที่ไม่จำเป็นและสำหรับข้อกำหนดของโปรแกรมขอแนะนำให้คุณใช้คำขอ
วิธีนี้ดีกว่าเช่น request.form ("ชื่อผู้ใช้")
ต่อไปนี้เป็นตัวอย่างการทดสอบ หลังจากส่งแล้วคุณสามารถเพิ่มได้โดยตรง? ชื่อผู้ใช้ = AAA ไปยังที่อยู่เพื่อทดสอบ:
-
ifrequest ("ส่ง") <> "" แล้ว
Response.write "โดยตรง:" & คำขอ ("ชื่อผู้ใช้") & "<br>"
Response.write "get:" & request.querystring ("ชื่อผู้ใช้") & "<br>"
Response.write "Take Post:" & request.form ("ชื่อผู้ใช้") & "<br>"
endif
-
<formName = form1Action = "" method = post>
<inputType = testName = "ชื่อผู้ใช้" value = "postuser">
<inputType = submitName = "submit" value = "test">
</form>