2012-12-06 13 views
5

मुझे एक समस्या का सामना करना पड़ रहा है कि यदि कोई वेब पेज किसी अन्य वेब पेज पर स्थानांतरित हो जाता है तो मीटरी सत्र का मूल्य नहीं रख सका। मैं उल्का के लिए नया हूँ, शायद मैं दुरुपयोग कर रहा हूँ। मैं पृष्ठों के बीच सत्र के मूल्य को कैसे प्रबंधित करूं? मैं सत्र के मूल्य को रखना चाहता हूं भले ही पृष्ठ दूसरे पृष्ठ पर जाता है या ब्राउज़र पुनः लोड हो जाता है।उल्का पृष्ठों के बीच सत्र का मूल्य नहीं रख सका

मैं मेटायर, मोजिटो, और एक्सप्रेस (नोड.जेएस) जैसे जावास्क्रिप्ट ढांचे का उपयोग करके वेब अनुप्रयोग बनाने और योजना बनाने से पहले उनका परीक्षण करने की योजना बना रहा हूं।

मैं उल्का संस्करण 0.5.2 (6635ae1007) और क्रोम संस्करण 23.0.1271.95 का उपयोग कर रहा हूं।

(1) 'टेस्ट' बटन पर क्लिक:

यह परिवर्तन 'परिणाम है' करने के लिए लेबल 'परिणाम ठीक है'

यहाँ एक परीक्षण कोड और परीक्षण के लिए कदम दूर है।

(2) 'टॉप पेज पर वापस' लिंक पर क्लिक या ब्राउज़र को पुनः लोड:

मैं धारण करने के लिए लेबल 'परिणाम ठीक है' चाहते हैं, लेकिन इसे वापस लिए चला जाता है 'परिणाम है'। इसका मतलब है कि सत्र मान अपरिभाषित है।

test.js

if (Meteor.isClient) { 
    Template.test.result = function() { 
    var result = Session.get('TEST'); 
    console.log('Result: %s', result); 
    return result; 
    } 

    Template.test.events({ 
    'click' : function() { 
     Session.set('TEST', 'OK'); 
    } 
    }); 
} 

test.html

<head> 
    <title>sample-session</title> 
</head> 

<body> 
    <h1>Session Test</h1> 
    <a href="./">Back to Top page<a/><br/> 
    {{> test}} 
</body> 

<template name="test"> 
    <input type="button" value="TEST"></input><br/> 
    Result is {{result}}. 
</template> 

उत्तर

8

अद्यतन उल्का अब एक Session.setDefault विधि करता है कि आप वास्तव में क्या उम्मीद कर रहे हैं है।

मूल उत्तर नीचे

उल्का में session वस्तु मौलिक रूप से अलग अन्य चौखटे में session अवधारणा (रेल/ASP.NET MVC/PHP) से है - उल्का में प्राथमिक कार्य की सेवा के लिए है क्लाइंट साइड कोड के लिए reactive variable के रूप में।

यह है कि आप ऊपर की उम्मीद कर रहे करने के लिए तैयार नहीं है - जैसे ही अपने लिंक आग के रूप में, ग्राहक संदर्भ मिटा दिया जाता है, और किसी भी ग्राहक-साइड सत्र मूल्यों चले गए हैं। उल्का ऐप्स पारंपरिक अर्थ में नेविगेशन के लिए डिज़ाइन नहीं किए गए हैं, इसलिए यही कारण है कि यह भ्रमित लगता है। यह पूरी तरह से समझ में आता है :)

पारंपरिक अर्थ में नेविगेशन के करीब आने के बजाय, मेरा सुझाव है कि आप meteor-router पर एक नज़र डालें, जो परंपरागत और अधिक उल्कापिंड दृष्टिकोण के बीच संक्रमण को कम करने में मदद करता है।

यदि आपको ऊपर बताए गए तरीके से डेटा को जारी रखने की आवश्यकता है, तो आप स्थानीय स्तर पर क्लाइंट पर लगातार डेटा के लिए amplify smart package देखना चाहेंगे।

टीआईपी: जैसा कि आप the docs में उल्का के बारे में जानेंगे, प्रत्येक सेगमेंट के ऊपरी दाएं भाग में ग्राहक/सर्वर/कहीं भी के पद पर बहुत करीब ध्यान दें।

+0

आपके सहायक उत्तर के लिए धन्यवाद। अब मैं उल्का में 'सत्र' शब्द को समझता हूं। मैं उल्का-राउटर की जांच करूंगा और ऊपर सुझाए गए स्मार्ट पैकेज को बढ़ाऊंगा। –

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