2012-06-29 8 views
6

साथ jQuery $ ajax कॉल में मैंस्थिति कोड = 0 जब xhrFields का उपयोग कर: {withCredentials: सच} Firefox

xhrFields : { 
    withCredentials: true 
} 
jQuery $ ajax कॉल में

उपयोग कर रहा हूँ आदेश मेरे प्रश्नों के भीतर सत्र कुकीज़ भेजने के लिए,।

कॉल मेरे अपाचे लॉग (401/200 कुकी पर सेट होने पर निर्भर करता है) पर सही स्थिति कोड देता है, लेकिन फ़ायरफ़ॉक्स हमेशा एक स्थिति = 0 प्राप्त करता है (यानी $ .ajax() में त्रुटि) अगर मैं हटा देता हूं इस xhrFields अनुभाग, स्थिति कोड ठीक है (लेकिन कुकीज़ नहीं भेजा जाता है)

यहाँ प्रतिक्रिया ऑब्जेक्ट मैं xhrFields सेटअप के साथ फ़ायरफ़ॉक्स में प्राप्त है:

{"readyState":0,"responseText":"","status":0,"statusText":"error"} 

मेरे अपाचे config CORS-सक्षम किया गया है, और यह भी अनुमति देता है एक्सेस-कंट्रोल-अनुमति-प्रमाण-पत्र (यहां संबंधित HTTP शीर्षलेख हैं)

Access-Control-Allow-Credentials: true 
Access-Control-Allow-Origin: * 

क्या कुछ गायब है, या तो AJAX कॉल में, या वेबसर्वर कॉन्फ़िगरेशन पर?

एनबी: यह Chrome

+0

क्या आपने अन्य ब्राउज़रों (जैसे जी क्रोम) की जांच की? –

+0

मुझे क्रोम पर एक ही समस्या है, और मैं पूरी उत्पत्ति का उपयोग कर रहा हूं, न कि वाइल्डकार्ड मूल। – jamiebarrow

उत्तर

9

में पूरी तरह से ठीक काम करता है आप शायद * की तुलना में अधिक स्पष्ट रूप से पहुंच-नियंत्रण-अनुमति दें-उत्पत्ति हैडर निर्दिष्ट करना होगा।

https://developer.mozilla.org/En/HTTP_access_control#Requests_with_credentials का कहना है:

महत्वपूर्ण नोट: एक credentialed अनुरोध का उत्तर देते समय, सर्वर डोमेन निर्दिष्ट करना होगा, और जंगली कंधी उपयोग नहीं कर सकते।

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