के लिए काम नहीं कर रहा यह सेवा उपयोगकर्ताओं को प्रमाणित करने के लिए प्रयोग किया जाता है नेट 4. पर किसी asp.NET WCF है। हम एक उपयोगकर्ता नाम और पासवर्ड जमा कर रहे हैं और फिर एक HTTP शीर्षलेख प्रमाणीकरण कुकी शामिल के साथ वापस किया जाना चाहिए। स्थानीय रूप से होस्ट किए गए परीक्षण पृष्ठ का उपयोग करके यह सही तरीके से काम कर रहा है। अब मैं हेडर जानकारी क्रॉस डोमेन तक पहुंचने का प्रयास कर रहा हूं। मैंने अपने टेस्ट पेज को एक अलग मशीन पर स्थापित किया है और डब्ल्यूसीएफ में कॉल करने के लिए कॉन्फ़िगर किया है। कॉल काम कर रही है और कॉल में 'डेटा' जवाब सही है।xmlHttp.getResponseHeader + CORS
alert(xmlHttp.getAllResponseHeaders());
या
alert(xmlHttp.getResponseHeader("Set-Cookie"));
IE में डिबगर और 'लाइव HTTP हेडर' का उपयोग Firefox के लिए में प्लग, मैं कर सकते हैं: हालांकि, मैं निम्नलिखित में से किसी के साथ शीर्ष लेख जानकारी का उपयोग करने में असमर्थ हूँ देखें हेडर जानकारी वापस आ रही है।
मेरी वैश्विक ajax पेज में मैं प्रतिक्रिया CORS को संभालने के लिए स्थापित कर रहा हूँ।
private void EnableCrossDomainAjaxCall()
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
यह AJAX मैं सेवा को कॉल करने का उपयोग कर रहा है:
$("#btnLogin").click(function (e) {
var geturl;
geturl = $.ajax({
// type: "POST",
type: "GET",
contentType: "application/json; charset=utf-8",
url: 'http://10.0.4.66/AuthenticationService.svc/Login?Name=test&password=pwsd',
// url: '../SecurityServer/AuthenticationService.svc/Login?Name=test&password=pwsd',
dataType: "jsonp",
error: function (request, status, error) {
alert('Error Occured');
},
crossdomain: true,
success: function (data, textStatus, xmlHttp) {
// alert(xmlHttp.getResponseHeader("Content-Type"));
document.write(xmlHttp.getResponseHeader("Content-Type") + "<br/>");
alert(xmlHttp.getAllResponseHeaders());
alert(xmlHttp.getResponseHeader("Set-Cookie"));
var headers = '';
var headerPair = xmlHttp.getAllResponseHeaders('wcfCookie').split("\r\n");
var output = '';
$.each(headerPair, function (key, line) {
var parts = line.split(':');
if (parts[0] == 'wcfCookie') {
ChocChip = parts[1]
return false
}
});
}
});
नीचे मेरी हेडर सूचना 'लाइव HTTP हेडर'
Date: Mon, 04 Feb 2013 12:12:40 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
Access-Control-Allow-Origin: *
Set-Cookie: wcfCookie=8D38D5D6A0F138FEB595DD016F7694EDDF3E6757C82ED3D419F5047A5294974C1885487465CEC0A0BCC2B3802C7B03FF9F5370A05D4CCBDDDABCB1558C3816044BF4F78209BF38C6B1A7CAD34CD3C85C40B8515CFB1C2B2694BC78803D8DACB4
Content-Length: 65
Cache-Control: application/json; charset=utf-8
Content-Type: application/x-javascript