2009-05-15 8 views
6

jquery load method एक दूरस्थ फ़ाइल से एचटीएमएल लोड करता है और इसे डोम में इंजेक्ट करता है। उदाहरण के लिए, फ़ीड की आईडी के साथ div में feeds.html फ़ाइल को लोड करने, तो आप इस करना होगा:क्या jquery लोड विधि Rails replace_html विधि के बराबर AJAX कार्यक्षमता प्रदान करती है?

$("#feeds").load("feeds.html"); 

इस रेल replace_html विधि के साथ एक आंशिक बुला के लिए एक विकल्प है या कार्यक्षमता थोड़ा अलग है ?

page.replace_html 'feeds', :partial => 'main/feeds', 
    :locals => {:feed => @feed_data } 

[संपादित करें]: क्रेग Stuntz बताते हैं के रूप में, replace_html जावास्क्रिप्ट रिटर्न एचटीएमएल के बजाय - क्या इसका लाभ/नुकसान है? क्या इसका मतलब यह है कि आपके द्वारा वापस किए गए टुकड़े में अधिक कार्यात्मक क्षमताएं होती हैं जैसे जावास्क्रिप्ट का उपयोग करने वाला एक वेब पेज नियमित HTML पृष्ठ से अधिक शक्तिशाली होता है? या HTML के बजाय जावास्क्रिप्ट लौटने के लिए कोई अन्य कारण है?

उत्तर

6

अंतिम परिणाम बहुत समान है, लेकिन वे एक बहुत ही अलग तरीके से काम करते हैं। लोड विधि का अर्थ है कि आपका सर्वर एक HTML खंड लौटाता है, और jQuery इसे पृष्ठ में सम्मिलित करता है। Replace_html विधि का अर्थ है कि आपका सर्वर HTML की बजाय जावास्क्रिप्ट लौटा रहा है, और इस जावास्क्रिप्ट को पृष्ठ में HTML खंड डालने के लिए निष्पादित किया गया है। तो अंतिम परिणामस्वरूप एचटीएमएल समान है, लेकिन क्लाइंट और सर्वर के बीच यातायात बहुत अलग है।

+0

HTML के बजाय जावास्क्रिप्ट लौटने का लाभ/नुकसान क्या है? क्या इसका मतलब यह है कि आपके द्वारा वापस किए गए टुकड़े में अधिक कार्यात्मक क्षमताएं होती हैं जैसे जावास्क्रिप्ट का उपयोग करने वाला एक वेब पेज नियमित HTML पृष्ठ से अधिक शक्तिशाली होता है? या HTML के बजाय जावास्क्रिप्ट लौटने के लिए कोई अन्य कारण है? –

+3

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

+0

क्या आपका मतलब है क्योंकि कुछ ग्राहक जावास्क्रिप्ट को संसाधित नहीं कर पाएंगे, लेकिन संभवतः HTML को संसाधित करने में सक्षम होंगे? मैंने सोचा था कि एचटीएमएल और जेएस कम या ज्यादा तकनीकी भाई बहन थे जैसे कोई भी ग्राहक जो संसाधित कर सकता है, वह अन्य प्रक्रिया की तुलना में अधिक हो सकता है? –

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