पहली समस्या जो मैंने इस समस्या से निपट रही थी वह समझ रहा था कि प्रीफलाइट अनुरोध का क्या अर्थ है। तो मैं वहां से शुरू करूंगा।
ब्राउज़र preflight अनुरोध भेजने के लिए जब भी एक अनुरोध इन मानदंडों को पूरा नहीं करता है:
- प्राप्त
- पोस्ट
- प्रमुख
:
- HTTP विधियों में से (केस-संवेदी) से मेल खाता है
HTTP शीर्षलेख मिलान (केस-असंवेदनशील):
- स्वीकार
- स्वीकार करें भाषा
- सामग्री भाषा
- अंतिम-घटना-आईडी
- सामग्री प्रकार, लेकिन केवल तभी मूल्य में से एक है:
- आवेदन/x-www -फॉर्म-urlencoded
- मल्टीपार्ट/फॉर्म-डेटा
- टेक्स्ट/सादा
Preflight अनुरोध एक विकल्प विधि है कि तीन अतिरिक्त हेडर कि आपके सर्वर अगर यह CORS लिए कॉन्फ़िगर नहीं है उम्मीद नहीं की जा सकती है शामिल है के साथ बना रहे हैं।वे हैं:
- पहुंच-नियंत्रण-अनुमति दें-हेडर
- पहुंच-नियंत्रण-अनुमति दें-उत्पत्ति
- पहुंच-नियंत्रण-अनुमति दें-तरीके
सर्वर के लिए कॉन्फ़िगर नहीं है सीओआरएस, यह बस HTTP स्टेटस कोड 200 वाले खाली हेडर के साथ प्रतिक्रिया देता है। एक बार जब आप सीओआरएस के लिए सर्वर कॉन्फ़िगर कर लेते हैं, तो आपको ऊपर सूचीबद्ध शीर्षलेखों को सीओआरएस द्वारा समर्थित हेडर के रूप में शामिल करना चाहिए।
जो त्रुटि को साफ़ करना चाहिए और आपको सर्वर से संवाद करने की अनुमति देना चाहिए।
नोट: अपने सर्वर आपके द्वारा बनाए गए कस्टम हेडर संभाल सकते हैं (मेरे मामले, जेडब्ल्यूटी प्रमाणीकरण के लिए Authorization
में), यह सबसे अधिक संभावना CORS अनुरोध के लिए कॉन्फ़िगर नहीं किया जाएगा। अगर आपके पास अपने सर्वर तक पहुंच है, तो बस उस सर्वर के लिए CORS को कॉन्फ़िगर करने का तरीका जानें।
सीओआरएस के बारे में अधिक जानकारी के लिए। देखें https://www.html5rocks.com/en/tutorials/cors/
स्रोत
2017-01-12 06:38:02
[मोज़िला इस मुद्दे को बहुत अच्छी तरह से बताता है, एक नज़र डालें।] (Https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) – Timo
@TimoSta - मैं कैसे हल करूं तब यह? मैंने अपने कोड में निम्नलिखित जोड़ दिया है लेकिन फिर भी वही त्रुटि प्राप्त हो रही है --- var config = { \t \t शीर्षलेख: { \t \t 'एक्सेस-कंट्रोल-स्वीट-मेथड': 'प्राप्त करें, पुट, पैच, पोस्ट, डिलीट करें ', \t \t' पहुंच-नियंत्रण-अनुमति दें-उत्पत्ति ':' * ', \t \t' सामग्री-प्रकार ':' आवेदन/json ' \t \t} \t}; \t कॉन्स्ट अनुरोध = axios.get (url, config); – user4076248
@TimoSta - इसे हल करने के लिए लिंक के लिए धन्यवाद, मुझे अपने सर्वर एक्सप्रेस एप्लिकेशन में CORS मॉड्यूल स्थापित करना था और इसे मिडलवेयर के रूप में उपयोग करना था। मैं बस सोच रहा था कि क्या मैं इस पर काबू पाने के लिए अपने ग्राहक पक्ष के अनुरोध में कुछ भी कर सकता था। अगर ऐसा कोई तरीका है तो कृपया मुझे बताएं। चूंकि जब मैं डाकिया या किसी ब्राउज़र का उपयोग कर अनुरोध करता हूं तो इससे कोई भी समस्या नहीं होती है। तो शायद कुछ ऐसा है जो मैं अपने क्लाइंट साइड अनुरोध में जोड़ सकता हूं जो भी इसे हल कर सकता था। बस उत्सुक। – user4076248