"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إعادة توجيه المتصفح باستخدام HTMLX

إعادة توجيه المتصفح باستخدام HTMLX

تم النشر بتاريخ 2024-08-07
تصفح:873

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

إعادة توجيه المتصفح

أثناء الانتهاء من وظائف المشرف، قررت أن الوقت قد حان للبدء أخيرًا في تطبيق HTMLX في المشروع. لقد بدأت بعنصر زر يرسل طلب POST إلى معالج تسجيل الخروج الخاص بي. عادة، سأقوم بإنجاز هذه المهمة باستخدام عنصر نموذج، ولكن كما ذكرت، فقد حان الوقت لبدء تطبيق HTMLX في المشروع. تكمن المشكلة في أنني أريد أن يظل إجراء POST يتصرف كنموذج وأن تكون الاستجابة من الخادم عبارة عن إعادة توجيه مرة أخرى إلى نقطة النهاية /.

المشكلة: التعامل مع إعادة التوجيه باستخدام http.Redirect

إليك عنصر الزر الذي استخدمته:


المشكلة التي واجهتها هي أن الاستجابة لإعادة التوجيه لا تزال بتنسيق HTML، ويقوم HTMX بتبديل هذا المحتوى لعنصر زر تسجيل الخروج.

التعامل مع إعادة التوجيه باستخدام http.Redirect

func (app *application) handleLogoutPost(w http.ResponseWriter, r *http.Request) {
    // handle business logic...
    //...

    http.Redirect(w, r, "/", http.StatusSeeOther)
}

الصورة: تم تبديل المحتوى باستخدام زر تسجيل الخروج
The content has been swapped with the Logout button

الحل: استخدام رأس HX-Redirect

يمكن منع تبديل المحتوى عن طريق استبدال http.Redirect برأس HX-Redirect في الاستجابة والموقع المستهدف كقيمة له.

func (app *application) handleLogoutPost(w http.ResponseWriter, r *http.Request) {
    // handle business logic...
    //...

    // Write our HX-Redirect header with location and redirect
    w.Header().Set("HX-Redirect", "/")
    http.WriteHeader(http.StatusNoContent)
}

الصورة: تمت إعادة توجيه المتصفح إلى / لاحظ عنوان url.

Redirecting the browser using HTMX

خاتمة

لقد كانت عملية إنشاء منصة التدوين الخاصة بي باستخدام Go وTempl وHTMX تجربة مفيدة حتى الآن. من خلال دمج HTMLX، سيظل الموقع قادرًا على الاحتفاظ بالعديد من ميزات التفاعل إذا كان موقع ويب حديثًا دون الحاجة إلى كتابة كود جافا سكريبت الإضافي وتقديمه. كان التعامل مع عمليات إعادة التوجيه باستخدام رأس HX-Redirect حلاً بسيطًا وفعالاً. آمل أن يساعد هذا المنشور أي شخص في مشاريعه ويشجعك على استكشاف إمكانات HTMLX في تطبيقات الويب الخاصة بك.

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/timenglesf/redirecting-the-browser-using-htmx-nan?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3