2012-02-14 21 views
7

इंटरसेप्ट करता है मेरे पास एक ऐसा फॉर्म है जिसका लक्ष्य आईफ्रेम है।इंटरनेट एक्सप्लोरर एक्सएमएल प्रतिक्रिया

फॉर्म सबमिट करते समय, प्रतिक्रिया एक्सएमएल है और मेरे पास जावास्क्रिप्ट है जो प्रतिक्रिया का विश्लेषण करता है।

मैंने देखा कि आईई पर चलते समय, आईई प्रतिक्रिया को रोकता है और इसे आरएसएस फ़ीड के रूप में मानता है, इसलिए मेरा कोड कभी प्रतिक्रिया प्राप्त नहीं करता है। अगर मैं आरएसएस फ़ीड अक्षम करता हूं (इंटरनेट विकल्प से, सामग्री टैब) सब कुछ ठीक काम करता है।

मैंने सामग्री के प्रकार को "टेक्स्ट/एक्सएमएल" पर सेट किया है; अक्षरसेट = यूटीएफ -8 "लेकिन फिर भी यह काम नहीं करता है।

क्या कोई कामकाज है?

+1

हे, मुझे आईई में इस तरह की अजीब चीज़ों के बारे में पढ़ने से प्यार है। – Oliver

उत्तर

2

सबसे अच्छा कामकाज इस मामले में आईफ्रेम का उपयोग नहीं करना होगा। ऐसा लगता है जैसे आईई http प्रतिक्रिया को पकड़ रहा है और इसे अपने आप पढ़ रहा है। क्या कोई कारण है कि आप जानकारी पुनर्प्राप्त करने के लिए AJAX कॉल नहीं कर रहे हैं? ऐसा लगता है कि आप प्रतिक्रिया को संभालने के लिए जावास्क्रिप्ट पर भरोसा कर रहे हैं, इसलिए मुझे लगता है कि एक XMLHttpRequest ऑब्जेक्ट का उपयोग करना आपके लिए बेहतर होगा: http://www.w3.org/TR/XMLHttpRequest/

यदि यह बहुत जटिल है, तो jQuery: http://jquery.com/ जैसी लाइब्रेरी में देखें AJAX कॉल करने और प्रतिक्रियाओं को संभालने के लिए (और बहुत सरल) कार्यों में बनाया गया है।

इस पर विस्तार करने के लिए, आप फॉर्म के सबमिट फ़ंक्शन को जेएस फ़ंक्शन (या इसे करने के लिए jQuery का उपयोग करें) को बाध्य करेंगे और फॉर्म डेटा उठाएंगे, इसे AJAX अनुरोध में भेजें, और प्रतिक्रिया को संभालें। jQuery में फ़ंक्शन serialize() का निर्माण किया गया है जो कि पृष्ठ पर फ़ॉर्म डेटा को सर्वर पर भेजने के लिए AJAX() फ़ंक्शन में उपयोग के लिए तैयार जानकारी में परिवर्तित करने के लिए है। यदि आप XMLHttpRequest ऑब्जेक्ट से अपरिचित हैं, तो मैं अत्यधिक इस कार्य के लिए jQuery जैसी लाइब्रेरी का उपयोग करने का सुझाव दूंगा।

0

हाँ, यह भी सुनिश्चित फ़ाइल हेडर सामग्री-विन्यास का उपयोग कर सही के साथ उत्पादन होता है बनाने के लिए, कि IE "response.xml" और नहीं "response.php" या कुछ इस तरह ...

हो जाता है कर 'सामग्री-विस्थापन: लगाव; filename = "response.xml" '

+0

वास्तव में अनुलग्नक स्वभाव कभी-कभी क्रोम में अजीब काम करता है, इसलिए सुनिश्चित करें कि आप उपयोगकर्ता एजेंट की जानकारी पढ़ते हैं और केवल आईई में अनुलग्नक सामग्री करते हैं। अन्य ब्राउज़र आमतौर पर प्रतिक्रियाओं को सही ढंग से संभाल लेंगे जब तक कि सामग्री-प्रकार सही ढंग से सेट न हो, भले ही इसे एक्सेस करने के लिए उपयोग किए जाने वाले यूआरएल के बावजूद। – Brian

1

ठीक है, समस्या मिली ... मेरी प्रतिक्रिया एक्सएमएल में फीडबैक टैग शामिल हैं। आईई इन टैग को आरएसएस फ़ीड के रूप में मानते हैं। टैग नाम को FDBACK में बदलना इस समस्या को हल करें ...

एमएस, यह दस्तावेज़ क्यों नहीं है ???

संबंधित मुद्दे