मैं backbone.js के मॉडल का उपयोग करता हूं। जब मैं मॉडल को सहेजता हूं, तो यह फ़ायरफ़ॉक्स पर सर्वर-साइड पर HTTP विकल्प विधि भेजता है, लेकिन HTTP POST विधि को सफारी के साथ भेजता है।
मुझे पता है कि यह backbone.js के बारे में एक मुद्दा नहीं है, यह कोर के बारे में है। मैं बस जांच करूंगा कि क्या सर्वर, साइड पर GET, POST, PUT और DELETE है, मैं HTTP विकल्प विधि के साथ नौकरी नहीं करूंगा।
मेरा अनुरोधित url मेरा api: api.foo.com है और एपीआई से अनुरोध किया: bar.com
इसलिए, मैं सभी ब्राउज़रों में कैसे नियंत्रित कर सकता हूं मेरे api.foo.com से HTTP POST विकल्प नहीं? और मैं किसी अन्य डोमेन से सभी अनुरोधों के साथ api.foo.com की सामग्री कैसे साझा कर सकता हूं?
नोट: मैंने पहले ही प्रतिक्रिया को सर्वर-साइड से हेडर में बदल दिया है: एक्सेस-कंट्रोल-अलाउंस-ओरिजिन: *
उत्तर:
उत्तर № 1 के लिए 7विकल्प अनुरोध वास्तव में तथाकथित है पहले से अनुरोध करें कोर विनिर्देशन की। यह प्रीफ़लाइट अनुरोध वेब ब्राउज़र द्वारा उपयोग किया जाता हैयह जांचने के लिए कि सर्वर किस स्थिति से संबंधित मूल के अनुरोध को स्वीकार करेगा। यदि प्रीफ़लाइट अनुरोध की प्रतिक्रिया संतोषजनक थी, तो ब्राउज़र वास्तविक अनुरोध भेजेगा।
तो इस विनिर्देश के अनुपालन के लिए, आपको अपने सर्वर को पुन: पेश करने की आवश्यकता है प्रीफ़्लाइट अनुरोध प्रसंस्करण के चरण.