मैं iContact API को एक अनुरोध करने का प्रयास कर रहा हूं जिसके लिए मुझे authentiation (http://developer.icontact.com/documentation/authenticate-requests) के लिए कस्टम हेडर का उपयोग करने की आवश्यकता है। यह मेरा कोड है:jQuery AJAX कस्टम हैडर
$.ajax({
type: "GET",
url: "https://app.icontact.com/icp/a/",
contentType: "application/json",
beforeSend: function(jqXHR, settings){
jqXHR.setRequestHeader("Accept", "application/json");
jqXHR.setRequestHeader("Api-Version", iContact_API_version);
jqXHR.setRequestHeader("Api-AppId", iContact_appID);
jqXHR.setRequestHeader("Api-Username", iContact_username);
jqXHR.setRequestHeader("API-Password", iContact_appPassword);}
});
किसी कारण से अनुरोध नहीं चलता है। हालांकि, जब मैं मैन्युअल रूप से वही अनुरोध करता हूं (क्रोम रीस्ट कंसोल का उपयोग करके) यह ठीक काम करता है। अगर मैं कस्टम हेडर (एपीआई- *) निकालता हूं, तो अनुरोध पूरा हो जाता है लेकिन निश्चित रूप से प्रमाणीकरण विफल रहता है और मैं एक नियमित HTML पृष्ठ वापस लेता हूं।
मैं फ़ायरफ़ॉक्स पर स्विच और अनुरोध जाँच/प्रतिक्रिया हेडर:
अनुरोध:
Host app.icontact.com
User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Origin http://184.72.61.244
Access-Control-Request-Me... GET
Access-Control-Request-He... api-appid,api-password,api-username,api-version
प्रतिक्रिया:
HTTP/1.1 302 Found
Date: Tue, 14 Jun 2011 23:43:56 GMT
Server: Apache/2.2.9 (Debian)
Set-Cookie: intellicontact_phpsess=1c7ca333017b47f46edd893dae584781; path=/; domain=.icontact.com; secure; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: https://app.icontact.com/icp/login/sentry.php?relurl=https%3A%2F%2Fapp.icontact.com%2Ficp%2Fa%2F&sess=
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 20
Connection: close
Content-Type: text/html; charset=utf-8
कोई भी विचार गलत यहाँ क्या हो रहा है?
धन्यवाद!
आप शायद एक विकल्प अनुरोध है, जो देख रहा है गंतव्य होस्ट क्रॉस-डोमेन अनुरोध, [अधिक जानकारी] की अनुमति देता है कि क्या देख रहे हैं (http://stackoverflow.com/questions/1256593/ jQuery-क्यों-am-ए-हो रही-एक-विकल्प-अनुरोध-insted-के-एक-मिल-अनुरोध)।एक वर्कअराउंड JSONP का उपयोग कर रहा है, लेकिन यह कस्टम हेडर का समर्थन नहीं करता है, [यहां क्यों है] (http://stackoverflow.com/questions/3350778/modify-http-headers-for-a-jsonp-request)। आप [cURL] (http://en.wikipedia.org/wiki/CURL) या पसंदों का उपयोग कर समाप्त कर सकते हैं यदि iContact क्रॉस-डोमेन AJAX-अनुरोध या JSONP का समर्थन नहीं करता है। –
[अनुकूलित HTTPHeader फ़ील्ड के साथ JSON पोस्ट] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/7100294/json-post-with- अनुकूलित-httpheader-field) – JAAulde
http://stackoverflow.com/a/14655768/ 1581725 –