في ASP ، يعد كائن الطلب كائنًا مهمًا للغاية للحصول على البيانات المقدمة من العميل ، والجميع على دراية به. على الرغم من ذلك ، غالبًا ما يسألني الناس عن طرق الكتابة التالية مختلفة وكيف يجب أن أكتبها؟
strmessage = طلب ("msg")
strmessage = request.form ("msg")
علاوة على ذلك ، رأيت أيضًا الرمز الذي كتبه العديد من الأشخاص ، وكلهم مكتوبون في الطلب (""). بالطبع ، لا حرج في هذه الكتابة.
لكن يجب على الجميع الاهتمام
يحتوي كائن الطلب على عدة مجموعات للحصول على البيانات المقدمة من العميل. بشكل عام ، يتم استخدام QueryString و Form و ServerVariables بشكل شائع.
بغض النظر عن المجموعة التي يتم الحصول عليها مباشرة من خلال الطلب ("") ، هناك مشكلة هنا.
تقدم طريقة GET وطريقة النشر نفس المتغير ، مثل اسم المستخدم = CQQ ، ثم يمكنك استخدام الطلب ("اسم المستخدم")
هل تم الحصول على البيانات من GET أو POST؟
لذلك ، عندما تصل المشكلة إلى هذه النقطة ، يجب أن تعتقد أن هناك تسلسلًا يطلب فيه الطلب بيانات من هذه المجموعات ، من الأمام إلى الخلف
الطلب هو QueryString ، النموذج ، وأخيرا ServerVariables. يتم البحث في كائنات الطلب في هذا الطلب
إذا كان هناك أي متغيرات في هذه المجموعات ، فسيتم إحباطها ، وسيتم تجاهل المتغيرات اللاحقة. لذا فإن طلب المثال أعلاه ("اسم المستخدم")
ما تم استرداده هو في الواقع البيانات المقدمة بواسطة طريقة GET.
لذلك ، من أجل تحسين الكفاءة وتقليل وقت البحث غير الضروري ، وكذلك لمواصفات البرنامج ، يوصى باستخدام الطلب.
الطريقة أفضل ، مثل request.form ("اسم المستخدم").
فيما يلي مثال اختبار. بعد التقديم ، يمكنك إضافة اسم المستخدم = 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 = "" method = post>
<inputType = testName = "username" value = "postuser">
<inputType = submitName = "إرسال" value = "test">
</form>