एलेक्स सही है! यहां पूरा समाधान है। (यह आईई 8 और आईई 9 के साथ काम नहीं करता है!)
आपको क्लाइंट साइड पर withCredentials सेट करने की आवश्यकता है। चूंकि jQuery 1.5.1 आप इसे नीचे दिखाए गए जैसा कर सकते हैं (Source)। पुराने संस्करण के लिए white rabbit का पालन करें।
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
सर्वर पक्ष पर आपको सेटिंग विकल्प की अनुमति देना है, प्रमाण-पत्रों की अनुमति दें और मूल की अनुमति दें। वाइल्डकार्ड उत्पत्ति की अनुमति नहीं है! लेकिन आप अनुरोध हेडर से मूल को पढ़ सकते हैं :)
// auto adapted Access Control to origin from request header.
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
if ($header == 'Origin')
header('Access-Control-Allow-Origin: ' . $value, true);
}
// send cookies from client
header('Access-Control-Allow-Credentials: true', true);
// allow all methods
header('Access-Control-Allow-Methods: GET, POST, OPTIONS', true);
यदि आप आरईएसटी का उपयोग कर रहे हैं तो एक्सेस-कंट्रोल-स्वीट-विधियों को हटाएं और PUT जोड़ने के लिए मत भूलना –