मैंने इंटरनेट पर कुछ शोध किया है, लेकिन मुझे इस विषय के बारे में पूरी तस्वीर प्राप्त करने का प्रबंधन नहीं हुआ। क्या कोई इस जवाब को हमेशा और हमेशा के लिए हल करने में मदद कर सकता है?क्या मैं क्रॉस डोमेन जेसन अनुरोधों में हेडर सेट कर सकता हूं?
यह मैं अब तक क्या मिला है:
- यह jsonp साथ क्रॉस-डोमेन कॉल करने के लिए संभव है। Jsonp कॉल में हेडर को बदलने की अनुमति कभी भी
- सर्वर को अनुमति देने पर जेसन के साथ क्रॉस डोमेन कॉल करना संभव है।
$.ajax({ type: "GET", crossDomain: true, beforeSend: function (request) { request.setRequestHeader("Authorization", "Bearer " + ($("#accesstoken").val())); }, contentType: "application/json; charset=utf-8", url: myJSonServer + encodeURI(operation), dataType: 'json', cache: false, success: callback, error: function (jqXhr, textStatus, errorThrown) { alert(textStatus + ": " + errorThrown); } });
यह क्या हो रहा है है:
- जब myJSonServer एक ही डोमेन पर है, वहाँ सभी में कोई समस्या नहीं है
यह मैं क्या करने की कोशिश कर रहा हूँ
- जब MyJSonServer किसी अन्य डोमेन पर है अनुरोध अनुरोध भेजा जाता है, लेकिन बेयरर हेडर के बिना
यह बेयरर हेडर OAuth2 मानक का हिस्सा है।
मुझे इस तथ्य से अवगत है कि शायद यह ब्राउज़र में एक्सेस टोकन सेट करने का सबसे अच्छा समाधान नहीं है। और मुझे पता है कि मैं इस स्थिति के लिए प्रॉक्सी का उपयोग कर सकता हूं।
मैं केवल उत्सुक हूं यदि हेडर को क्रॉस-डोमेन जेसन अनुरोध पर सेट करना संभव है या नहीं?
धन्यवाद
- समस्या
मैं MVC4 उपयोग कर रहा था हल और web.config में crossDomainScriptAccessEnabled = "true" जोड़ा। मैंने सोचा कि यह पर्याप्त होगा, लेकिन apsillers के जवाब मेरी समस्या हल हो गई। अब मैं अपने web.config में इस जोड़ लिया है:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Authorization" />
</customHeaders>
</httpProtocol>
</system.webServer>
[क्रॉस-उत्पत्ति 'प्राधिकरण' के संभावित डुप्लिकेट jquery.ajax() के साथ शीर्षलेख (http://stackoverflow.com/questions/9559947/cross-origin- प्राधिकरण-header-with-jquery-ajax)। – apsillers