मैंने जो किया है वह मैंने किया है और यह मेरा अनुभव है। मैं काम पर ओरेकल के साइट स्टूडियो मिडलवेयर का उपयोग करता हूं। मैंने एक ढांचा की तलाश की जो इसके साथ काम करेगी लेकिन उसे नहीं मिला। तो मैंने नीचे दोनों विकल्पों की कोशिश की है।
1) डेटाबेस क्वेरी पंक्तियों की एक निश्चित राशि देता है। मैंने परीक्षण के रूप में 2,000 की कोशिश की। एक साधारण फोरैच लूप लौटाए गए डेटा को JSON डेटा में परिवर्तित करता है। तो यह सचमुच JSON चर के एक लंबे सरणी बनाता है क्योंकि यह पंक्तियों के माध्यम से loops। इस तरह आप स्थानीय डबबेस के स्नैपशॉट की नकल कर रहे हैं। जेएस वास्तव में सरणी तत्वों को बहुत तेज़ी से एक्सेस कर सकता है और यह आपको आश्चर्यचकित कर सकता है कि आप कितनी तेजी से जानकारी को बदल सकते हैं, बदल सकते हैं, हटा सकते हैं।
<script>
var appData = [{'id':'0','first':'Sam','last':'Smith'},{'id':'1','first':'Dan','last':'Smith'}];
</script>
यह JSON डेटा एक स्क्रिप्ट टैग के भीतर निहित है। DQuery.ready पर JQuery तब डेटा पढ़ता है और इसे आवश्यकतानुसार HTML टेक्स्ट में जोड़ता है। जब कोई उपयोगकर्ता JSON डेटा मान बदलता है तो AJAX आग लग जाती है और डेटाबेस में परिवर्तन सहेजती है। इस तरह की प्रणाली को आपके आवेदन में जोड़ना बहुत मुश्किल नहीं है। मैंने Google के कोणीय.जेएस का उपयोग बाद में यूआई को एक साफ एमवी पैटर्न रखने के लिए डेटा को बाध्य करने के लिए किया और तेजी से क्लाइंट साइड के प्रकार और फ़िल्टरिंग करना भी आसान है। जैसा कि पहले से ही उल्लेख किया गया है Backbone.js और अन्य जेएस ढांचे क्लाइंट डेटा को सर्वर पर सिंक्रनाइज़ कर सकते हैं।
2) दूसरे तरीके से मैंने एक HTML पृष्ठ पर डेटा सहेजा है, एक बार फिर से लौटाई पंक्तियों के माध्यम से एक फोरच के माध्यम से लूप करना है। फिर मैंने पुराने फैशन
<input type="hidden" name="someName" value="someValue" />
का उपयोग करके HTML में डेटा को सहेज लिया, फिर मैंने डेटा को संसाधित करने और इसे UI में जोड़ने के लिए JQuery का उपयोग किया। क्या तुम सच में JSON के साथ जंगली प्राप्त करना चाहते हैं तो आप वास्तव में इतने
<input type="hidden name="row1" value="{'color':'red','style':'fancy','age':'44'}" />
फिर आप डेटा की प्रक्रिया और अपने यूआई के लिए यह बाध्य करने के लिए JQuery या Angular.js उपयोग कर सकते हैं की तरह HTML चर में एम्बेड कर सकते हैं।
यह दिलचस्प है कि बहुत से अनुप्रयोग ढांचे क्लाइंट साइड कैशिंग सिस्टम में निर्मित नहीं हैं। यह सर्वर पक्ष पर एक चयन मेनू को सॉर्ट करने के लिए वास्तव में अक्षम है और फिर HTML को पुनर्निर्माण करता है। जेएस में इसे सॉर्ट करने के लिए बेहतर और गतिशील रूप से चयन मेनू का पुनर्निर्माण करें। यहां सुरक्षा के साथ चिंता है और आप निजी जानकारी को JSON या HTML चर में प्रिंट नहीं करना चाहेंगे क्योंकि यह दृश्य स्रोत के अंतर्गत दिखाई दे रहा है। इसके अलावा आप अधिक दुष्ट तकनीक का उपयोग कर पृष्ठों में डेटा एम्बेड कर सकते हैं। नीचे विचार करें:
<span class="data" value="1234"></span>
$(function() {
$('.data').each(function() {
var val = $(this).attr('value');
console.log(val); //process data
});
});
फिर आप डेटा नामक कक्षाओं को संसाधित करने के लिए dQuery.ready पर JQuery का उपयोग कर सकते हैं। आप जेएसओएन डेटा को मूल्य में भी सामान डाल सकते हैं और इसे बाद में पार्स कर सकते हैं। ध्यान रखें कि JQuery लोग इस तरह से कक्षाओं का उपयोग कर डेवलपर्स के खिलाफ हैं। मेरे अनुभव में यदि आप इसके साथ ओवरबोर्ड नहीं जाते हैं तो यह बहुत अच्छा काम करता है।
* 2 साल का डेटा कितना है? * क्या यह Google के वेब सर्वर लॉग के 2 साल या छोटे पैमाने पर कुछ है? – Matt
@ मैट यह लगभग 32 के पंक्तियों के आसपास है। –
फिर इसे ग्राहक को न भेजें। क्लाइंट को सर्वर को मतदान करने दें। – Matt