2011-02-06 7 views
6

मैं बस jQuery के साथ प्रयोग करना शुरू कर रहा हूं और इसे एक बहुत ही सरल सीआरयूडी ऐप पर लागू करने की कोशिश कर रहा हूं जिसमें सूची, निर्माण, & पृष्ठ शामिल हैं।पेजों में jQuery-mobile और stale डेटा

मैंने jQuery-मोबाइल मार्कअप सम्मेलनों को लागू किया है और सब कुछ बहुत अच्छा लग रहा है। हालांकि, मैं ताज़ा स्टेल डेटा की समस्या के बारे में उलझन में हूं। मैं समझता हूं कि jQuery-मोबाइल एक 'एक-पेज ऐप' देने के लिए AJAX के साथ लिंक ओवरराइड करता है और सबमिट करता है। दोबारा, यह मेरे लिए काम कर रहा है और मेरे सभी data-role="page" सामान लोड हो रहा है और सही ढंग से संक्रमण कर रहा है।

जो मुझे समझ में नहीं आता है यह है कि जब मैं डेटा संशोधित करता हूं, (उदाहरण के लिए एक नया आइटम बनाने के लिए एक फॉर्म सबमिट करें, फिर 'सूची' पृष्ठ पर नेविगेट करें) कुछ पृष्ठों को सर्वर से रीफ्रेश करने की आवश्यकता है संशोधित डेटा। जो jQuery-mobile करता है वह पहले लोड किए गए पृष्ठ को फिर से प्रदर्शित करता है जो अब बासी है। इसी तरह, हर बार जब मैं एक और नया आइटम बनाने के लिए 'पेज बनाएं' पर फिर से जाता हूं तो फॉर्म अभी भी पिछले सबमिट से भरा हुआ है क्योंकि पृष्ठ वास्तव में रीफ्रेश नहीं होता है।

यदि यह कुछ है तो मुझे खुद को स्क्रिप्ट करने की आवश्यकता है, यह ठीक है, लेकिन मुझे उत्सुकता है कि ऐसा लगता है कि मैंने जो भी सोचा होगा, वह jQuery-मोबाइल दस्तावेज़ों में एक सामान्य परिदृश्य नहीं था। ऐसा लगता है कि मुझे कुछ स्पष्ट याद आना चाहिए। अन्य लोग इसे कैसे संभालेंगे?

+0

AFAIK यह बस इस तरह से काम कर रहा है। जेक्यूएम बाहरी डीओएम को बाहरी पेज लोड करता है और इसे कैश के रूप में मानता है। आईडी = some.html के साथ एक ताजा डाउनलोड मजबूर करने के साथ एक पृष्ठ को हटाने पर विचार करें। इसके अलावा - यदि आप पुराने के साथ काम कर रहे हैं तो JQM अल्फा 3 प्राप्त करें। – naugtur

उत्तर

6

rel = बाहरी तकनीक कहीं और समस्याओं का कारण बनती है, तो एक पृष्ठ को "पुनः-कैश" करने का एक तरीका था। आप एक पूर्णस्क्रीन आईपैड ऐप नहीं तैनात कर सकते हैं जो rel = बाहरी का उपयोग करता है।

मुझे बिल्कुल वही समस्या थी। मैं कुछ पैच कि here

प्रकाशित किए गए थे को संवारता रहा हूँ मैं चिपकाया निम्नलिखित बस अपना <script src="../../Scripts/jquery.mobile-1.0a4.1.min.js" type="text/javascript"></script> संदर्भ के बाद:

script type="text/javascript"> 

    $('div').live('pagehide', function(event, ui){ 
     var page = jQuery(event.target); 
     //alert('point 6875654'); 
     if(page.attr('data-cache') == 'never'){ 
     //alert('removing jqm history page'); 
     page.remove(); 
     }; 
    }); 

    </script> 

इस प्रकार मैं तो डेटा कैश विशेषता कहा:

<div class="page" data-role="page" data-cache="never"> 

ऐसा लगता है कि बहुत मदद मिली है, हालांकि मेरे पास अब भी एएसपी.NET सुरक्षा के साथ रीडायरेक्ट के आसपास कुछ संबंधित मुद्दे हैं।

2

इसी तरह की समस्या के लिए मेरा समाधान गतिशील रूप से अपडेट किए गए पृष्ठों पर rel = बाहरी जोड़ना था। मेरी इच्छा है कि गतिशील सामग्री को

+0

आप इस टैग को कहां रख रहे हैं? मेरे पास एक फॉर्म सबमिशन है और मैंने बटन, फॉर्म और पेज की कोशिश की है और कुछ भी काम नहीं करता है। –

+0

फिल रि = बाहरी लिंक एक लिंक तत्व को संदर्भित करता है। विशेष रूप से वह वह पृष्ठ जो आपको उस पृष्ठ पर लाता है जिसमें गतिशील रूप से अपडेट की गई सामग्री है। फॉर्म लिंक से अलग काम करते हैं। मैं यहां शुरू करूंगा: http://jquerymobile.com/test/docs/forms/docs-forms.html – David

+0

इससे मुझे एएसपी.नेट एमवीसी 3 का उपयोग करने वाली किसी समस्या के साथ मदद मिली। मैं उस पृष्ठ पर एक साधारण बैक लिंक जोड़ने की कोशिश कर रहा था जिसमें एक फॉर्म शामिल था जो POST का उपयोग करता था। जब लिंक क्लिक किया गया था, तो यह पृष्ठ जैसा मैं चाहता था "रीफ्रेश" नहीं करता। उस समस्या को ठीक करने वाले लिंक पर rel = "बाहरी" जोड़ना। धन्यवाद! –

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