2012-07-23 13 views
21

के बीच डेटा साझा करें मैं एक HTML पृष्ठ से दूसरे डेटा में कुछ डेटा भेजना चाहता हूं। मैं http://localhost/project/index.html?status=exist जैसे क्वेरी पैरामीटर के माध्यम से डेटा भेज रहा हूं। इस विधि के साथ समस्या यह है कि डेटा यूआरएल में रहता है। जावास्क्रिप्ट या jquery का उपयोग कर एचटीएमएल पृष्ठों में डेटा भेजने के लिए कोई और तरीका है।एचटीएमएल पृष्ठों

+0

[एचटीएमएल पृष्ठों के बीच साझा चर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/21128692/share-variables-between-html-pages) – Darshak

+0

डाउनवोट क्योंकि इस ढेर से संबंधित कुछ प्रश्न यहां उपलब्ध हैं ओवरफ्लो – Darshak

+0

: - तो क्या? ... यह अभी भी इस वेबसाइट में है जिसे आप आसानी से प्राप्त कर सकते हैं – Darshak

उत्तर

44

आप अपने मूल्यों को एचटीएमएल 5 स्टोरेज ऑब्जेक्ट्स जैसे sessionStorage या localStorage में क्यों स्टोर नहीं करते हैं, अधिक जानकारी प्राप्त करने के लिए HTML5 Storage Doc पर जाएं। इसका उपयोग करके आप मध्यवर्ती मानों को अस्थायी रूप से/स्थायी रूप से स्थानीय रूप से स्टोर कर सकते हैं और फिर बाद में अपने मानों तक पहुंच सकते हैं।

sessionStorage.getItem('label') 
sessionStorage.setItem('label', 'value') 

या अधिक स्थायी रूप से:

localStorage.getItem('label') 
localStorage.setItem('label', 'value') 

तो तुम स्टोर कर सकते हैं (अस्थायी) एचटीएमएल 5 भंडारण वस्तुओं का उपयोग कर कई पृष्ठों के बीच प्रपत्र डेटा जो आप भी बनाए रख सकते हैं

एक सत्र के लिए दुकान मूल्यों के लिए

रीलोड के बाद ..

+5

आप [एकाधिक पृष्ठों में चर बने रह सकते हैं] (http://stackoverflow.com/questions/1981673/persist-javascript-variables-across- पेज/1981681 # 1981681) 'window.name' का उपयोग कर। –

+0

मैं समझ नहीं पा रहा हूं कि आप इस लाइन को कहां परिभाषित करते हैं? धन्यवाद –

4

संभवतः अगर आप सिर्फ डेटा जावास्क्रिप्ट द्वारा प्रयोग की जाने तो आप इस

http://localhost/project/index.html#exist 

की तरह उपयोग कर सकते हैं हैश टैग इसलिए एक बार जब आप डेटा को पुन: प्राप्त किया जाता है संदेश को दिखाने के लिए स्थानांतरण और खिड़की बदलना चाहते हैं एक उपयुक्त मूल्य के लिए .location.hash .. अब जब भी आप पेज hashtag अभ्यस्त उपस्थित होना ताज़ा करूँगा
नोट: आप इस बजाय OT क्वेरी स्ट्रिंग डेटा भेजा जा रहा retrived नहीं किया जा सकता/सर्वर

द्वारा पढ़ा उपयोग करेगा जब
2

ठीक है, आप वास्तव में जावास्क्रिप्ट के माध्यम से डेटा भेज सकते हैं - लेकिन आपको पता होना चाहिए कि वेब पेजों में यह # 1 शोषण स्रोत है क्योंकि यह एक्सएसएस है :)

मैं व्यक्तिगत रूप से एक HTML फॉर्मूलेर का उपयोग करने और सर्वर पक्ष पर जावास्क्रिप्ट डेटा को संशोधित करने का सुझाव दूंगा।

लेकिन यदि आप दो पृष्ठों के बीच साझा करना चाहते हैं (मुझे लगता है कि वे दोनों स्थानीयहोस्ट पर नहीं हैं, क्योंकि दो दोनों बैकएंड-संचालित पृष्ठों के बीच साझा करने का अर्थ नहीं होगा) तो आपको सीओआरएस हेडर निर्दिष्ट करना होगा ब्राउज़र को श्वेतसूची वाले डोमेन पर डेटा भेजने की अनुमति दें।

इन दो लिंक आपकी मदद कर सकता है, यह नोड बैकएंड के माध्यम से उदाहरण से पता चलता है, लेकिन आप बिंदु यह कैसे काम करता है:,

Link 1

और बेशक, CORS कल्पना:

Link 2

~ चीयर्स

12

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन लगा कि मैं अपने दो सेंट का हिस्सा होगा। @Neji सही है कि आप sessionStorage.getItem('label'), और sessionStorage.setItem('label', 'value') का उपयोग कर सकते हैं (हालांकि उसके पास setItem पैरामीटर पीछे थे, एक बड़ा सौदा नहीं)।मैं भी बहुत कुछ निम्नलिखित पसंद करते हैं, मुझे लगता है कि इसे और अधिक संक्षिप्त है:

var val = sessionStorage.myValue 

getItem के स्थान पर और

sessionStorage.myValue = 'value' 
setItem के स्थान पर

इसके अलावा, यह ध्यान दिया जाना चाहिए क्रम JavaScript ऑब्जेक्ट के स्टोर करने के लिए है, वे उन्हें स्थापित करने के लिए stringified किया जाना चाहिए कि, और इसलिए की तरह, उन्हें पाने के लिए पार्स:

sessionStorage.myObject = JSON.stringify(myObject); //will set object to the stringified myObject 
var myObject = JSON.parse(sessionStorage.myObject); //will parse JSON string back to object 

कारण यह है कि सब कुछ sessionStorage संग्रहीत करता है के रूप में है एक स्ट्रिंग, इसलिए यदि आप केवल sessionStorage.object = myObject कहते हैं तो आपको वह ऑब्जेक्ट ऑब्जेक्ट मिलता है, जो आपको बहुत मदद नहीं करता है।

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