2011-06-23 2 views
14

के साथ AJAX और jQuery AJAX और jQuery के साथ एक एमवीसी मॉडल का उपयोग करते समय आप अपने नियंत्रकों, विधियों, विचारों को व्यवस्थित कैसे करते हैं?एमएसी

प्रश्न 1

आप AJAX कॉल बस के लिए एक अलग नियंत्रक है, या आप एक एकल नियंत्रक में आपके सामान्य गैर AJAX के तरीकों के साथ एक साथ AJAX तरीकों मिश्रण करते हैं?

प्रश्न 2

आप AJAX और एक एकल नियंत्रक में गैर AJAX तरीकों मिश्रण करने थे, तो आप अलग AJAX और गैर AJAX के तरीकों की क्या ज़रूरत है, या आप उन्हें एक साथ गठबंधन (यदि संभव हो) करते हैं और एक मान (एनयूएलएल या AJAX) में पास करें जो यह निर्धारित करता है कि सामान्य दृश्य या AJAX व्यू ब्राउज़र पर वापस भेज दिया गया है या नहीं।

प्रश्न 3

यदि आप 50 विभिन्न AJAX कॉल है, और प्रत्येक कॉल के लिए एक विधि है, जो बारी में एक दृश्य की आवश्यकता की आवश्यकता है, हम 50 तरीकों और 50 दृश्यों के साथ एक नियंत्रक के साथ खत्म। क्या यह अच्छा एमवीसी अभ्यास है? मैं एक एकल दृश्य साझा करने वाले नियंत्रक में सभी AJAX विधियों के बारे में सोच सकता हूं, जहां दृश्य फ़ाइल में केस सशर्त बयान शामिल हैं और दृश्य फ़ाइल एक पैरामीटर पारित किया गया है जो निर्धारित करता है कि 50 मामलों में से कौन सा उपयोग किया जाएगा। तरह का में 1.

प्रश्न 50 बार देखा गया संपीड़ित 4

के बजाय इतने सारे विचारों (50 बार देखा गया), क्या आप इसके बजाय दृश्य में एक से नियंत्रक विधि में में उत्पादन गूंज की सोचते हैं होने की तरह ? इस तरह हमारे पास इतने सारे विचार नहीं होंगे। AJAX के लिए अलग नियंत्रक -

Btw, मैं अपने MVC मॉडल

उत्तर

10

प्रश्न 1

मैं एक ही नियंत्रक करने के लिए ajax और गैर ajax कोड मिश्रण। इस तरह आपका कोड एक सामान्य स्थान पर ढूंढना आसान है।

प्रश्न 2

मैं ajax और गैर ajax विधि एक साथ जोड़। यह आसान javascript Progressive Enhancement उपयोग करने के लिए इतना है कि जावास्क्रिप्ट के बिना लोगों को अभी भी एक ही नियंत्रक

प्रश्न 3

में पोस्ट कर देगा आप 50 तरीकों के साथ 1 नियंत्रक नहीं होना चाहिए बनाता है। आपके पास कार्यक्षमता के प्रति टुकड़े नियंत्रक होना चाहिए। तो एक उपयोगकर्ता नियंत्रक, एक फू नियंत्रक, एक बार नियंत्रक - ताकि आप प्रत्येक 5 विधियों के साथ 10 contollers के साथ खत्म हो सकता है। इस तरह के तरीके उनके कार्य के लिए विशिष्ट कक्षाओं में हैं। मेरे पास अलग-अलग विचार हैं और एक बड़ा दृश्य नहीं है। क्या दिखाया गया है यह निर्धारित करने के लिए आपको लोगो के अंदर LOGIC का उपयोग नहीं करना चाहिए, यह नियंत्रक का काम है। लेकिन कुछ नियंत्रक/तरीकों अन्य तरीकों

प्रश्न 4

या नियंत्रक चाहिए कभी उत्पादन HTML के रूप में एक ही दृश्य लौट सकते हैं। इस के लिए विचारों का उपयोग करें जो एमवीसी का पूरा पिल्ला है जो कोड (नियंत्रक) दृश्य (प्रतिपादन) चिंताओं को अलग करने के लिए है। कुछ बार मेरे विचार सिर्फ जेएसओएन या एक्सएमएल लौटते हैं और फिर मैं डोम अपडेट करने के लिए जावास्क्रिप्ट टेम्पलेट का उपयोग करता हूं। अन्यथा मेरे विचार एचटीएमएल वापस आते हैं। उदाहरण के लिए एक फॉर्म पर एक सहेजें समारोह। अगर आप सशक्त हो तो बस एक बूलियन लौट सकते हैं। फिर मेरी जावास्क्रिप्ट प्रतिक्रिया के आधार पर एक डीआईवी छुपा या दिखाएगा।

+0

बीटीडब्लू मैं एमवीसी .NET का उपयोग कर रहा हूं तो PHP – Daveo

+0

के लिए वाईएमएमवी मेरे पास admincontroller है, इस पर 70 विधियां हैं। मेरा पूरा व्यवस्थापक एक नियंत्रक का उपयोग करता है वह बुरा है। मुझे अच्छा एमवीसी आर्किटेक्चर कहां मिल सकता है। – Gowri

3

प्रश्न 1 के लिए CodeIgniter PHP ढांचे का उपयोग कर रहा हूँ। यदि आप servlets का उपयोग कर रहे हैं तो आपको async समर्थन के लिए नए सर्वलेट 3.0 समर्थन का उपयोग करना चाहिए।

http://www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html?page=2

प्रश्न 2 - हम अलग नियंत्रक का उपयोग कर रहे हैं के बाद से इस लागू नहीं है।

प्रश्न 3 - आप एक परिदृश्य देखें कि आप कहां कार्यक्षमता ओवरलैपिंग के बिना 50 अद्वितीय कॉल है? हालांकि आपके पास 50 AJAX कॉल हैं, लेकिन इन अनुरोधों को पूरा करने के लिए सर्वर पक्ष पर बहुत से पुन: उपयोग किया जा सकता है। तो 50 कॉल 50 तरीकों के बराबर नहीं है। आप प्रत्येक अनुरोध को कमांड & के साथ उचित तरीके से निष्पादित कर सकते हैं, जो कि हाथ से बाहर निकल सकता है।

प्रश्न 4 - 50 कॉल 50 बार देखा गया के बराबर नहीं हो सकता। आपको यहां भी पुन: उपयोग करने की आवश्यकता है। आपको अपने दृश्य घटकों को अलग करने की आवश्यकता है & उन्हें इकट्ठा करें। डिजाइन करने के लिए नीचे उबलता है।

3

जब आप एक jQuery AJAX कॉल करने, jQuery कहते हैं एक एक्स-अनुरोधित-साथ जो आप निर्धारित करने के लिए एक विशेष अनुरोध एक AJAX अनुरोध है या नहीं का उपयोग कर सकते HTTP हेडर। इसे ध्यान में रखते हुए, यह अक्सर एजेक्स और पारंपरिक अनुरोधों के बीच एक ही नियंत्रक कार्रवाई को साझा करने, मॉडल बनाने के लिए और उस मॉडल के साथ पारंपरिक अनुरोधों के लिए एक दृश्य प्रस्तुत करने या AJAX के लिए एक ही मॉडल के JSON क्रमबद्ध प्रतिनिधित्व के साथ प्रतिक्रिया देने के लिए अक्सर समझ में आता है अनुरोध।

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

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