2012-11-08 27 views
11

हम खींच सर्वर से और है कि हम Struts का उपयोग कर रहे हैं, तो हम एक पृष्ठ MVC वास्तुकला या हम कैम एक AJAX कॉल लेकिन सम्मेलनों रूपों का उपयोग कर की है प्रस्तुत करके खींच सकते हैं या तो के लिए डेटा और प्रतिक्रिया प्रदान करते हैं लेकिन हमें समृद्ध उपयोगकर्ता अनुभव देने के लिए चुनौतियों का भी सामना करना पड़ता है, इसलिए हम सम्मेलन से समझौता करते हैं और अत्यधिक AJAX का उपयोग शुरू करते हैं, तो हमें दो के बीच संतुलन कैसे बनाना चाहिए?AJAX बनाम फ़ॉर्म सबमिशन

उत्तर

15

मुझे व्यक्तिगत रूप से लगता है कि AJAX को डिस्प्ले अपडेट के लिए उपयोग किया जाना चाहिए और फॉर्म सबमिशन पृष्ठ रीलोड के माध्यम से किया जाना चाहिए। तर्क?

फॉर्म सबमिट करते समय, आप एप्लिकेशन को कुछ करने के लिए कह रहे हैं। उपयोगकर्ता यह महसूस करना चाहते हैं कि यह किया गया था। जब कोई पृष्ठ पुनः लोड नहीं होता है, तो उपयोगकर्ता अक्सर सोचते रहते हैं "क्या वह काम था?"। फिर उन्हें यह सुनिश्चित करने के लिए जांच करनी है कि उन्होंने क्या किया था।

दूसरी ओर, जब आप कोई चार्ट या कुछ प्रदर्शित कर रहे होते हैं, और उपयोगकर्ता कहता है कि "2011 डेटा प्रदर्शित करें .... अब 2012 डेटा" उदाहरण के लिए, वे कुछ नहीं कर रहे हैं (नई संस्थाएं बना रहे हैं , ईमेल भेजना, आदि)। इसलिए AJAX इस मामले में एक अच्छा यूजर इंटरफेस प्रदान कर सकता है। पेज रीलोड्स यहां परेशान होंगे।

निष्कर्ष में, मुझे लगता है कि फॉर्म सबमिशन के माध्यम से फ़ॉर्म सबमिशन किया जाना चाहिए (उपयोगकर्ता को इसे काम करने दें), जबकि डिस्प्ले अपडेट AJAX (परेशान पृष्ठ रीलोड को रोकें) का उपयोग करना चाहिए।

बेशक, यह एक वरीयता बात है। मेरी कुछ कंपनी के अनुप्रयोगों में AJAX का उपयोग पूरे ओवर में किया जाता है। लेकिन वे वे अनुप्रयोग हैं जो बनाए रखने और डीबग करने के लिए सबसे कठिन हैं।;)

+19

आप अजाक्स के बारे में सोचने के तरीके पर पुनर्विचार करना चाहेंगे। क्या आप वास्तव में पेज को फिर से लोड करना चाहते हैं जब आप ऊपर उठते हैं, या SO पर टिप्पणी करते हैं? AJAX सही किया गया है साफ है और कृपा से गिरावट। (इसके अतिरिक्त, एक दिनांकित पहलू, लेकिन फिर भी महत्वपूर्ण, खासकर मोबाइल उपकरणों के साथ: AJAX बैंडविड्थ को बचा सकता है।) – bdares

+2

मैं सहमत हूं। मैं एक फॉर्म भरने की तरह "फॉर्म सबमिशन" और बात कर रहा था। यदि आपका परिवर्तन बड़ा नहीं है, तो मैं AJAX का उपयोग करने के लिए सहमत हूं। मैं सोच रहा था कि "इस डेटा को डेटाबेस में जोड़ें", आदि –

+0

"सहायक" अपवोट को इंगित करने के लिए। Ty। :) –

2

यदि आपके पास डेटा के सबमिशन के बीच त्रुटियां हैं तो सर्वर पर केवल एक ही फॉर्म विधि जांच सकती है। दूसरी तरफ यदि आप अजाक्स कॉल करते हैं तो आप क्लाइंट पक्ष पर त्रुटियों की जांच कर सकते हैं। इसलिए, डेटा संचारित करने की इस विभिन्न तकनीकों में से हम एक निर्णय का पालन कर सकते हैं कि वे विभिन्न उद्देश्यों की पूर्ति करते हैं।

7

नियमित पुराने HTML फॉर्म सबमिशन और फैंसी AJAX रूप पारस्परिक रूप से अनन्य नहीं हैं।

सबसे पहले, सादा HTML फॉर्म सही तरीके से काम करें। फिर, फॉर्म को हाइजैक करने के लिए जावास्क्रिप्ट जोड़ें और AJAX अनुरोध भेजें।

नियंत्रक और मॉडल परवाह नहीं है यदि उपयोगकर्ता का ब्राउज़र जावास्क्रिप्ट का समर्थन करता है (या सक्षम है)। प्रस्तुत दृश्य यह तय करता है कि कॉल जावास्क्रिप्ट या एक साधारण फॉर्म सबमिशन के साथ बनाया गया था या नहीं। यह एमवीसी पैटर्न की ताकत है, एक बाधा नहीं।

5

मुझे लगता है कि दोनों के बीच चुनाव को कुछ हद तक स्वाभाविक है:

  • फ़ॉर्म सबमिशन तुल्यकालिक है और यह पृष्ठ को पुनः लोड।

  • एक AJAX कॉल असीमित है और यह पृष्ठ को फिर से लोड नहीं करता है।

यदि कोई निश्चित कार्रवाई यूआई तत्वों को बदल देती है या बहुत सारे डेटा को प्रस्तुत करने की आवश्यकता होती है, तो मैं फॉर्म सबमिशन के साथ जाऊंगा। दूसरी तरफ, यदि सरल कार्यों के लिए एक निश्चित कार्रवाई का उपयोग किया जाता है, जैसे किसी चयन बॉक्स को पॉप्युलेट करना या उपयोगकर्ता अनुभव में सुधार करना, तो मैं एक एजेक्स कॉल के लिए जाऊंगा।

आपको एजेक्स कॉल या फॉर्म सबमिशन के रूप में उपयोग करने से बचने के लिए कुछ भी नहीं है, इसलिए अंत में आप पर निर्भर है।

संबंधित मुद्दे