لم أكتب رمز JS لفترة طويلة وواجهت مثل هذه المشكلة. لا يتم إجراء معظم النماذج في نظامنا لمنع التقديمات المكررة.
نظرًا لأنك لا ترغب في معالجتها على الواجهة الخلفية ، إذا تمت معالجتها بواسطة الواجهة الخلفية ، فأنت بحاجة إلى إعطاء قيمة رمزية لمرة واحدة عند تحميل الصفحة. لا يقتصر الأمر على زيادة عبء عمل التطوير ، بل من السهل أيضًا نسيان القيام بذلك. في الوقت نفسه ، ليس من السهل معالجة أياكس. إذا كنت بحاجة إلى إرسالها ، فستقوم بإرجاع قيمة رمزية جديدة في نفس الوقت.
لذلك أريد أن أفعل ذلك على JS. في الواقع ، ذكرت ذلك إلى الواجهة الأمامية من قبل ، ولكن لم يكن هناك أي حركة لفترة طويلة ، لذلك اضطررت إلى الحصول على لبنة ورميها. والفكرة هي الكتابة فوق $ .ajax ، وحل مشكلة منع التقديمات المكررة هنا ، في حين أن تطوير الأعمال الأمامية لن يتأثر ، ولن يتم تغيير الكود ، ولن يكون هناك تصور.
أعتقد أن أحد أغراض الهندسة المعمارية هو تبسيط تطوير الأعمال ، وحظر التفاصيل المستقلة عن الأعمال ، والسماح لتطوير الخط الأمامي بكتابة أعمال راحة البال.
الرمز كما يلي:
/*** تم إنشاؤه بواسطة XiAyongsheng في 2016/6/12.*/؛ (الدالة ($) {var ajax = $ .ajax ؛ // الطلبات المستخدمة لتخزين Ajax var ajaxstate = {} إلى الخارج ، يجب فرز البيانات حسب قيم المفاتيح ، ثم يتم تقسيم القيم معًا ، ويتم استخدام القيمة التي تم الحصول عليها بواسطة sha1 كصبعية // استخدام url url كبصمة أول var var = typeof args [0] === 'string'؟ args [0]: args [0] {ALERT ('من فضلك لا ترسل مرارًا وتكرارًا ، يتم معالجة الطلب ") ؛} ++ ajaxstate [hash] ؛ return $ .deferred () ؛} ajaxstate [hash] = 1 ؛ var def = ajax.apply ($ ، args) ؛ def.done (function () {delete ajaxstate] ؛ kinhomajax ؛}) (jQuery) ؛ما سبق هو المعرفة ذات الصلة حول كيفية منع التقديمات المتكررة من طلبات JS Ajax المقدمة لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!