2011-04-11 2 views
9

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

मैं केवल विकेट (tabbedPanel, onTimerAutoRefresh) द्वारा प्रदान की गई आउट-ऑफ-द-बॉक्स जावास्क्रिप्ट का उपयोग करता हूं।

शायद यह फ़ॉलबैक फ़ंक्शन से संबंधित कुछ है।

जब केवल एक वेब एप्लिकेशन खुलता है, तो यह बिना किसी समस्या के काम करता है।

मुझे उदाहरण साइट पर कोई समस्या नहीं है, इसलिए मुझे लगता है कि मेरे आवेदन की कॉन्फ़िगरेशन में कुछ गड़बड़ है।

wicket-ajax.js, लाइन 970:

try { 
    redirectUrl = t.getResponseHeader('Ajax-Location'); 
} catch (ignore) { // might happen in older mozilla 
} 

// the redirect header was set, go to new url 
if (typeof(redirectUrl) != "undefined" && 
    redirectUrl != null && 
    redirectUrl != "") { 
    //redirect and do a full page refresh (window.location = redirectUrl); 
}else{ 
    // do the normal ajax functionality 
} 

जब सब कुछ ठीक है, वहाँ शीर्षक में कोई अजाक्स स्थान है।

[Ajax-Location: .]

+0

मुझे लगता है कि हमें सहायता करने में सक्षम होने के लिए अधिक जानकारी की आवश्यकता होगी। –

+0

पहला विषय संपादित और अधिक टिप्पणियां शामिल की गईं। – Benoit

+0

यह तब होता है जब पोर्ट समान होता है, भले ही एक ही डोमेन का उपयोग किया जाता है। लेकिन जब मैं डोमेन बदलता हूं, तो कोई समस्या नहीं है। कार्रवाई में "partialajax" परियोजना उदाहरण में विकेट के साथ मेरे पास "पृष्ठ समाप्त हो गया आपके द्वारा अनुरोधित पृष्ठ समाप्त हो गया है।" त्रुटि। – Benoit

उत्तर

8

आप रूट संदर्भ कि जांच कर सकता है: जब दूसरे वेब अनुप्रयोग एक ही ब्राउज़र में लोड किया जाता है, तो पहले से भरी हुई वेब अनुप्रयोग पर अगले AJAX अनुरोध, अपने शीर्षक में इस लाइन हो जाता है आपके आवेदनों का अलग है? अन्यथा, आप कुकी स्तर पर एक संघर्ष हो सकता है। वे मेजबाननाम और पथ के आधार पर संग्रहीत हैं। यदि दोनों अनुप्रयोगों का संदर्भ पथ "/" है, तो कुकी मान ओवरराइट हो जाएंगे। आप जिस संघर्ष को देखते हैं उससे कहां से मिलता है।

+0

वास्तव में, संदर्भपैथ दो अनुप्रयोगों के लिए समान था। – Benoit

+0

क्या कोई कामकाज है? आवेदन स्तर पर सत्र कुकी नाम सेटिंग की तरह? – aioobe

+0

हाँ आप संभवतः सत्रक्यूकी कॉन्फिग का उपयोग कर ऐसा कर सकते हैं। मैंने कभी कोशिश नहीं की। – bernardn

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