भागों
मैं दो Pylons सर्वर के खिलाफ विकासशील कर रहा हूँ और स्थानीय स्तर पर परीक्षण सर्वर केवल एचटीएमएल 5/jQuery/क्रोम में बंदरगाह में मतभेद के बीच ajax कॉल नहीं कर सकते। एक सर्वर पोर्ट 5000 पर है और सर्वर कहा जाता है। दूसरा पोर्ट 7000 पर है। उत्तरार्द्ध एक कुकी बनाता है जो उसी सर्वर को निर्दिष्ट करता है जैसा कि पूर्व सर्वर द्वारा उपयोग किया जाता है। अनिवार्य रूप से, पहला सर्वर उपयोगकर्ता का प्रतिरूपण करने के लिए दूसरे सर्वर द्वारा प्रदान किए गए प्रमाण-पत्रों का उपयोग करता है।ढेर
पहला सर्वर इसकी प्रतिक्रिया में एक ऑथ टोकन (एक कुकी, वास्तव में) खोजने की अपेक्षा करता है। रनवे पर वातावरण। जब मैं पोर्ट 5000 पर सर्वर पर सर्वर पर प्रमाणित करता हूं और पोर्ट 5000 पर किसी सेवा के लिए ब्राउजर करता हूं, तो बाद वाला सर्वर पूर्व और ऐप द्वारा बनाई गई कुकी का उपयोग करता है।
मलहम में फ्लाई यह है कि पहला सर्वर एक HTML5 ऐप बनाता है जो दूसरे सर्वर पर AJAX कॉल का उपयोग करता है, और मुझे AJAX कॉल में कुकी को शामिल नहीं किया जा सकता है। मेरा मानना है कि क्रोम (जिस ब्राउज़र का हम उपयोग कर रहे हैं/HTML5 समर्थन कारणों के लिए जरूरी है) क्रॉस डोमेन कारणों के लिए कुकी भेजने से इंकार कर देता है: foo.net:7000
से foo.net:5000
पर जाकर क्रॉस डोमेन माना जाता है।
ओह, और AJAX कॉल jQuery के माध्यम से है।
सवाल
वहाँ एक ही डोमेन लेकिन एक अलग बंदरगाह में एक सर्वर के लिए एक ही डोमेन में एक बंदरगाह पर बनाई गई एक एचटीएमएल 5 एप्लिकेशन से किसी ajax कॉल करने के लिए कोई तरीका है?
मैं क्या करने की कोशिश की या हाथ
से बाहर त्यागें मैं नहीं मानता कि मैं dynamic script tag insertion उपयोग कर सकते हैं, क्योंकि मैं जावास्क्रिप्ट से कॉल कर रहा हूँ और एचटीएमएल अन्य जावास्क्रिप्ट से रनटाइम पर क्लाइंट पर उत्पन्न होता है है। कम से कम, मुझे नहीं लगता कि यह एक वांछनीय समाधान है।
मुझे विश्वास नहीं है कि Access-Control-Allow-* लागू है क्योंकि मैं क्लाइंट से सर्वर पर जा रहा हूं, दूसरी तरफ नहीं।
मैंने यह on jQuery and ports in ajax calls देखा है। मैंने this भी देखा है।
मुझे same-origin policy के बारे में पता है।