ई-कॉमर्स साइट में, किसी आइटम को कार्ट में शामिल करते समय, मैं उन विकल्पों के साथ एक पॉपअप विंडो दिखाना चाहूंगा जो आप चुन सकते हैं। कल्पना कीजिए कि आप आईपॉड शफल का आर्डर दे रहे हैं और अब आपको उत्कीर्ण करने के लिए रंग और टेक्स्ट का चयन करना है।
मैं खिड़की को मोडल बनाना चाहूंगा, इसलिए मैं एक अजाक्स कॉल द्वारा आबादी वाले लाइटबॉक्स का उपयोग कर रहा हूं । अब मेरे पास दो विकल्प हैं:
विकल्प 1: केवल डेटा भेजें, और जावास्क्रिप्ट का उपयोग करके HTML मार्कअप उत्पन्न करें
इसके बारे में क्या अच्छा है कि यह अजाक्स अनुरोध को न्यूनतम तक सीमित करता है और मार्कअप के साथ डेटा को नहीं मिलाता है।
इसके बारे में ऐसा बहुत अच्छा नहीं है कि अब मुझे अपना प्रतिपादन करने के लिए जावास्क्रिप्ट का उपयोग करने की आवश्यकता है, बजाय सर्वर-साइड पर एक टेम्प्लेट इंजन रखने के लिए। मैं क्लाइंट-साइड टेंपलेटिंग समाधान का उपयोग करके दृष्टिकोण को थोड़ा साफ करने में सक्षम हो सकता हूं ।
विकल्प 2: HTML मार्कअप भेजें
इसके बारे में क्या अच्छा है कि मैं एक ही सर्वर-साइड टेंपलेटिंग इंजन रख सकता हूं जिसका उपयोग मैं अपने रेंडरिंग कार्यों (Django) के बाकी हिस्सों के लिए कर रहा हूं, लाइटबॉक्स का प्रतिपादन करें। जावास्क्रिप्ट का उपयोग केवल पृष्ठ में HTML टुकड़ा डालने के लिए किया जाता है। तो यह स्पष्ट रूप से प्रतिपादन इंजन को छोड़ देता है। मेरी समझ मे आ रहा है।
लेकिन मैं किसी कारण से अजाक्स कॉल में डेटा और मार्कअप को मिलाने में सहज महसूस नहीं करता। मुझे यकीन नहीं है कि मुझे इसके बारे में असहज महसूस हो रहा है। मेरा मतलब है, यह उसी तरह है जैसे हर वेब पेज पर डेटा - मार्कअप - राइट किया जाता है?