الاستجابة لذلك المستعرض لا تفعل أي شيء - هل من الممكن؟

StackOverflow https://stackoverflow.com/questions/654636

  •  19-08-2019
  •  | 
  •  

سؤال

هل من الممكن لجعل هذه الاستجابة HTTP، أن المتصفح يتجاهل ذلك وتبقي تظهر الصفحة المعروضة سابقا؟

وأعني على السيناريو التالي:

وأ) ينقر المستخدم شيء

وب) بعض الوظائف يذهب إلى الخادم (أو تحصل، ولكن دعونا العصا مع POST كما أكثر إثارة للاهتمام)

وج) تقرر الخادم الذي لسبب ما لا تريد أن ترسل الرد في هذا الوقت

ود) الخادم يرسل ضعت خصيصا استجابة

وه) المتصفح لا تظهر صفحة خطأ، لا تظهر صفحة فارغة، لا توجيه أي مكان، لا تحميل - فقط وتبقي تظهر ما كان يظهر كما لو أن المستخدم لم تقدم النموذج

وPS وبطبيعة الحال فإنه يمكن أن تكون ملفوفة مع AJAX، ولكن أنا أسأل ما إذا كانت عارية العظام حل غير جافا سكريبت ممكن

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

المحلول

وحاول HTTP 204 لا المحتوى العودة. انظر وصف هذا رمز الاستجابة في RFC 2616 (بروتوكول نقل النص التشعبي - - HTTP / 1.1) حيث تقول:

<اقتباس فقرة>   

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

نصائح أخرى

وهذه هي طريقة تسمى عادة AJAX . فهو يتطلب جافا سكريبت ، وفي مدعوم وظيفة.

وتحرير: لاحظت الخاص بك PS "في الجزء السفلي. و 204 استجابة المقترحة في إجابة أخرى تبدو وكأنها قد يكون صحيحا غير جافا سكريبت حل.

لنفترض انك تفعل ذلك.

وماذا يفعل المستخدم؟ إرسال النموذج مرة أخرى، بطبيعة الحال.

وعدة مرات.

وبعد ذلك قرروا موقعك مكسورة، ومغادرة البلاد.

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

وأنا لا أعرف عن الاستجابة 204، ولكن ربما بهذه الطريقة يمكنك أن تفعل ذلك من جانب الملقم.

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

ولا. يتكون بروتوكول HTTP من دورة الاستجابة للطلب. لا يمكن للخادم قررت عدم الرد (ما في وسعها، ولكن بعد ذلك انها كسر البروتوكول ويرتكب خطأ).

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