मैं nodejs का उपयोग करके कोणीय के सामने वाले अंत के साथ बैकएंड के रूप में एक साधारण वेब ऐप बना रहा हूं।
नोडज के साथ मैं उपयोगकर्ता लॉग इन करने के बाद कुछ कुकीज़ सेट कर रहा हूं।
res.cookie(name,value)
मैं उपयोगकर्ता नाम और user_id के लिए प्रत्येक दो कुकीज़ बना रहा हूं। और जब मैं सेट कुकीज़ का उपयोग कर देखता हूं
res.json(req.cookies)
और जेसन प्रतिक्रिया में वास्तविक user_id और एक और कुंजी के साथ भी है connect.sid, शायद क्योंकि मैं कनेक्ट-फ्लैश का उपयोग कर रहा हूं, मुझे नहीं पता।
लेकिन जब मैं $ कुकीज़.get ("user_id") का उपयोग करके कोणीय में कुकीज़ तक पहुंचता हूं मान कुछ एन्कोडेड मान है,
उदाहरण के लिए: वास्तविक user_id के लिए: 571be8d34666cf69664645d5,
मैं समझ रहा हूं j% 3A% 22571be8d34666cf69664645d5% 22
मैं वास्तविक उपयोगकर्ता आईडी कैसे प्राप्त कर सकता हूं?
मुझे पता है कि असली आईडी स्ट्रिंग के बीच में है और मैं इसे कुछ स्ट्रिंग मैनिपुलेशन का उपयोग करके प्राप्त कर सकता हूं, लेकिन क्या कोई और तरीका है।
मैं अपने ऐप में पासपोर्टजे, एक्सप्रेस-सत्र, कनेक्ट-फ्लैश, कनेक्ट-मोंगो, कुकी-पार्सर का उपयोग कर रहा हूं।
उत्तर:
उत्तर № 1 के लिए 1दो अलग-अलग कुकीज़ का उपयोग करने के बजाय, आप वस्तु को कुकी से एक्सप्रेस में सेट कर सकते हैं, और कोणीय पक्ष पर आप कुकीज़ प्राप्त कर सकते हैं:
$cookies.getObject("cookiename",object)
आपके मामले में या तो कुकी या उपयोग को विभाजित करने के लिए एक फ़ंक्शन लिखें JSON.parse(json)
एक्सप्रेस से आने वाली कुकी को पार्स करने के लिए। मैंने इसे अन्य तरीके से गोल किया और अभिव्यक्त में कुकी ऑब्जेक्ट को पढ़ने में कामयाब रहा JSON.parse(cookieobj.user_id)
जवाब के लिए 0 № 2
ऐसा लगता है कि कोणीय 1.4 के रूप में, आप का उपयोग करना चाहिए $cookies.getObject("user_id")
मूल्य के deserialize संस्करण के लिए। इसके साथ शुरू करें, यदि कोई समाधान नहीं है, तो कंसोल पर कुकी के वास्तविक मूल्य को समझने के लिए जांचें कि कहां है j:"571be8d34666cf69664645d5"
से आते हैं।