2011-02-17 9 views
46

मुझे AJAX अनुरोध भेजने का प्रयास करते समय क्रोम में यह त्रुटि मिल रही है:क्रोम में त्रुटि: एक्सेस-कंट्रोल-स्वीकृति-हेडर द्वारा सामग्री-प्रकार की अनुमति नहीं है

Content-Type is not allowed by Access-Control-Allow-Headers 

सबकुछ फ़ायरफ़ॉक्स में ठीक काम करता है।

क्या कोई इस समस्या को हल करने में मेरी सहायता कर सकता है?

उत्तर

91

मैं Apache वेब सर्वर आभासी मेजबान विन्यास के लिए निम्न सेटिंग जोड़ने समस्या हल

Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept" 
+4

मुझे पता है, "धन्यवाद" उपेक्षा है - लेकिन धन्यवाद! – schlingel

+0

स्किंगेल, आपका स्वागत है :-) –

+0

मुझे एक ही समस्या थी। यदि आप Django का उपयोग कर रहे हैं, तो कॉर्स हेडर्स मॉड्यूल का उपयोग करें, इस CORS_ALLOW_HEADERS - https://github.com/ottoyiu/django-cors-headers/ – VishwaKumar

2

मैं एक ही समस्या थी और मैं निम्नलिखित हैडर जोड़कर इसे हल: पहुंच-नियंत्रण-अनुमति दें-हेडर: सामग्री प्रकार

+1

आपने यह हेडर किस पर जोड़ा? अनुरोध के लिए कि आप क्लाइंट साइड में पैदा हुए हैं? –

+0

कैंट @ वैन कोडिंग के लिए बोलें, लेकिन इसे काम करने के लिए आपको यह हेडर http प्रतिक्रिया में जोड़ना चाहिए। – Paul0515

1

नोड में सीओआरएस (क्रॉस-साइट HTTP अनुरोध) सेट करें।

app.use('/api', function(req, res, next) { 
    res.header('Access-Control-Allow-Origin', '*'); 
    res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type'); 
    next(); 
}); 
+0

क्या आप कृपया इस समस्या को हल करने के बारे में सुझाव दे सकते हैं कोणीय 2 में: सभी पदों का पालन करने के बाद भी मुझे सामना करना पड़ता है: प्रीफलाइट के लिए प्रतिक्रिया में अवैध HTTP स्थिति कोड 400 –

8

PHP के लिए समाधान::

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: POST,GET,OPTIONS'); 
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); 

पीएचपी साथ

+0

है यह जानकारी नीचे दी गई थी, नीचे समाधान के लिए मेरा 'पूरा' कोड है। 'हेडर (' एक्सेस-कंट्रोल-अनुमति-उत्पत्ति: http://example.com '); शीर्षलेख ('पहुंच-नियंत्रण-अनुमति-तरीके: प्राप्त करें, विकल्प'); शीर्षलेख ('एक्सेस-कंट्रोल-स्वीकृति-हेडर: उत्पत्ति, एक्स-अनुरोधित-साथ, सामग्री-प्रकार, स्वीकार करें'); $ _GET ['कॉलबैक'] echo। Json_encode ($ डेटा); ' –

0

मेरे लिए (भेजने के लिए किसी भी अन्य सामग्री से पहले कि आवश्यकता), localy भले ही मैं काम करता है मेरे लिए यह ऐसा दिखाई देता है केवल यह हेडर सेटिंग सेट करें:

header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');