2010-09-16 13 views
8

मैं आईई से संबंधित एक समस्या में आया हूं कि 'नेट - केवल कुछ लोगों को समान प्रश्न पूछने के बारे में कोई दस्तावेज नहीं लगता है।आईई jQuery पोस्ट का उपयोग कर यादृच्छिक एक्सएचआर 408/12152 प्रतिक्रिया क्यों जारी करता है?

जब मैं अपने सर्वर पर एक POST अनुरोध भेजने के लिए jQuery (1.4.2) का उपयोग करता हूं (जिस पर सर्वर JSON डेटा भेजकर प्रतिक्रिया देता है), मुझे कभी-कभी XHR 408 त्रुटियां मिलती हैं (जिसका अर्थ है कि सर्वर का इंतजार करते समय सर्वर का समय समाप्त हो गया ग्राहक अपना अनुरोध पूरा करने के लिए), और (कम बार), एक्सएचआर 12152 त्रुटियां (मुझे नहीं पता कि ये क्या संकेत देते हैं)। ऐसा कोई प्रतीत नहीं होता है।

यह केवल IE में होता है (संस्करण 8 - मैं अन्य संस्करणों प्रयास नहीं किया है, हालांकि मैं पुष्टि कर सकता है कि समस्या दो अलग-अलग ठिकानों पर होता है)। सफारी और ओपेरा ठीक लग रहा है।

यह GET अनुरोधों के साथ एक समस्या प्रतीत नहीं होता है।

किसी को भी इस मामले पर कोई विचार है, तो मैं बहुत आभारी होंगे।

+0

मेरा मानना ​​है कि 12,152 की तरह कुछ है "सर्वर डेटाबेस या सर्वर रखरखाव के लिए क्षण भर निकाल दिया गया है, या एक नेटवर्क त्रुटि हुई है।" तो, समय सारिणी, अनिवार्य रूप से। – Robert

+0

यह देखते हुए कि आपको दो टाइमआउट त्रुटियां मिल रही हैं, क्या आपने टाइमआउट समय को विस्तारित करने का प्रयास किया है? – Robert

+0

आईई 9 में भी होता है। त्रुटि 12152 और त्रुटि 12031. ऐसा लगता है कि AJAX अनुरोधों के साथ प्रतीत होता है, और अब तक अप्रत्याशित रूप से। – nothingisnecessary

उत्तर

8

जब आप status में IE लौटने वाली चीजें देखते हैं जो स्पष्ट रूप से HTTP स्थिति कोड नहीं हैं, तो वे वास्तव में Windows त्रुटि संख्याएं हैं, आमतौर पर WinInet से।

12152 ERROR_HTTP_INVALID_SERVER_RESPONSE408 की पुष्टि की पुष्टि करेगा कि आपके ब्राउज़र और सर्वर के बीच एक निम्न-स्तर HTTP-वाक्यविन्यास समस्या है। परंपरागत रूप से यह XMLHttpRequest के ActiveX कार्यान्वयन और HTTPS में रख-रखाव के साथ एक समस्या रही है, लेकिन सटीक कारण बल्कि अस्पष्ट है।

आप शायद सर्वर XMLHttpRequests कि IE से आते हैं पर Connection: close सेट होने की कोशिश कर सकते, देखते हैं कि अगर मदद करता है? दुर्भाग्यवश, यह प्रदर्शन को प्रभावित करेगा। भी ajax हैडर के लिए:

+0

मैंने अभी कुछ समय बिताया है कि मेरे कोड में कुछ भी नहीं है जो जिम्मेदार हो सकता है, और मैं यह सोचने के इच्छुक हूं - जैसा कि आप कहते हैं - समस्या आईई के साथ ही रहती है। जब jQuery की बात आती है तो कुल नौसिखिया के रूप में, क्या आप मुझे कोई संकेत दे सकते हैं कि मैं पोस्टिंग प्रक्रिया के हिस्से के रूप में 'कनेक्शन: क्लोज़' जारी करने के बारे में कैसे जा सकता हूं? – narnianUK

+0

मुझे लगता है कि आप इसे XMLHttpRequest से अनुरोध पर सेट नहीं कर सकते हैं, लेकिन आप इसे सर्वर से प्रतिक्रिया पर सेट करने में सक्षम होना चाहिए। आप केवल आईई के लिए हेडर सेट करने के लिए सर्वर पर उपयोगकर्ता-एजेंट को स्नीफ कर सकते हैं, लेकिन सर्वर-साइड UA की समस्याओं को देखते हुए यह जेएस से आईई का पता लगाने के लिए बेहतर हो सकता है (उदाहरण के लिए। एक सशर्त टिप्पणी का उपयोग करके) और पैरामीटर को ' सर्वर को यह करने के लिए कहने के लिए बंद = सही'। मैंने इसे स्वयं नहीं किया है, यह देखने में दिलचस्पी होगी कि यह हल करता है या नहीं। व्यक्तिगत रूप से जो मुझे मिलता है वह लॉग में बहुत ही कभी बंद सॉकेट त्रुटियां होती है, केवल आईई XMLHttpRequest से। – bobince

+0

मुझे लगता है कि इसे हल किया गया है - मैंने अभी PHP से शीर्षलेख में 'कनेक्शन: क्लोज़' भेजा है। मैं एक जेएस स्क्रिप्ट चला रहा हूं जो हर दो सेकंड में पोस्ट करता है, और अब तक, यह किसी भी त्रुटि को फेंक नहीं देता है, जहां पहले, यह होता। मैं इसे थोड़ी देर तक चलाऊंगा, लेकिन मुझे लगता है कि आपने पिछले कुछ महीनों के काम को अभी बचाया है; धन्यवाद! – narnianUK

3

मैं "बंद कनेक्शन" जोड़कर इसे हल। सर्वर से प्रतिक्रिया हेडर को:

"बंद कनेक्शन" जोड़ने के लिए कोई जरूरत नहीं है।

मैंने 1,000 अनुरोधों को फायर करने का परीक्षण किया है।

+1

मैं अपने शब्दों को वापस लेता हूं। आपको कनेक्शन की आवश्यकता है: सर्वर की ओर भी बंद करें। – Tanin

+0

आप अनुरोध के करीब कनेक्शन कैसे जोड़ते हैं? कनेक्शन एक ऐसी जानकारी है जो w3c के अनुसार बदलना संभव नहीं है ब्राउज़र इसे सेट करने के लिए ज़िम्मेदार है। मैंने मैन्युअल रूप से बदलने और काम करने की कोशिश की। –

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