سؤال

هل هناك طريقة مدمجة للوصول إلى معلمات Post/الحصول على معلمات في المضرب؟ extract-binding والأصدقاء يفعلون ما أريد ، ولكن هناك ملاحظة قاسية تتعلق حول المخاطر الأمنية المحتملة المتعلقة بتحميلات الملفات التي تختتم

لذلك ، نوصي بعدم استخدامها ، لكن يتم توفيرها للتوافق مع الكود القديم.

أفضل ما يمكنني أن أحضره هو (وسامحني مقدمًا)

(bytes->string/utf-8 (binding:form-value (bindings-assq (string->bytes/utf-8 "[field_name_here]") (request-bindings/raw req))))

لكن هذا يبدو معقدًا بشكل غير ضروري (ويبدو أنه سيعاني من بعض الأخطاء نفسها الموثقة في قسم الارتباط).

هل هناك طريقة قياسية أكثر أو أقل ، غير محدودة للحصول على قيمة ما بعد/الحصول على المتغير ، بالنظر إلى اسم الحقل وطلب؟ أو الأفضل من ذلك ، طريقة لاستعادة مجموعة من القيم بعد/الحصول على قائمة/قائمة تجزئة/قائمة؟ باستثناء أي من هؤلاء ، هل هناك وظيفة من شأنها أن تفعل الشيء نفسه ، ولكن فقط للمتغيرات ما بعد ، يتجاهل؟

هل كانت مفيدة؟

المحلول

ربط الاستخراج أمر سيء لأنه غير حساس للحالة ، وهو فوضوي للغاية بالنسبة للمدخلات التي تعود عدة مرات ، وليس لديها طريقة للتعامل مع تحميلات الملفات ، ويفترض تلقائيًا أن كل شيء هو UTF-8 ، وهو ليس صحيحًا بالضرورة. إذا كنت تستطيع قبول هذه المشكلات ، فلا تتردد في استخدامها.

يعمل المقتطف الذي كتبته عندما تكون البيانات UTF-8 وعندما يكون هناك عودة حقل واحدة فقط. يمكنك تحديدها هي وظيفة وتجنب كتابتها عدة مرات.

بشكل عام ، أوصي باستخدام Formlets للتعامل مع النماذج وقيمها.

الآن أسئلتك ...

"هل هناك طريقة قياسية أكثر أو أقل ، غير حكومية للحصول على قيمة منشور/متغير ، بالنظر إلى اسم الحقل وطلب؟"

ما لديك هو الشيء القياسي ، على الرغم من أنك تفترض خطأً أن هناك قيمة واحدة فقط. عندما يكون هناك متعددة ، ستحتاج إلى تصفية الروابط على اسم الحقل. وبالمثل ، أنت لا تفعل بحاجة إلى لتحويل القيمة إلى سلسلة ، يمكنك تركها كبايت على ما يرام.

"أو الأفضل من ذلك ، طريقة لاستعادة مجموعة من القيم بعد/الحصول على قائمة/قائمة تجزئة/قائمة؟"

هذا ما يفعله الطلب/RAW. إنها قائمة ملزمة؟ أشياء. ليس من المنطقي تحويله إلى تجزئة بسبب إرجاع القيمة المتعددة.

"باستثناء أي من هؤلاء ، هل هناك وظيفة من شأنها أن تفعل الشيء نفسه ، ولكن فقط للمتغيرات النشر ، يحصل التجاهل؟"

يخفي خادم الويب الفرق بين المنشورات ويحصل منك. يمكنك فحص بيانات URI و RAW النشر لاستعادتها ، ولكن عليك تحليلها بنفسك. لا أوصي به.

جاي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top