2011-10-04 9 views
11

मैं नीचे की तरह jQuery अजाक्स का उपयोग क्रोम में अच्छा:
XML पार्सिंग त्रुटि: फ़ायर्फ़ॉक्स में नहीं अच्छी तरह से गठित लेकिन

$.ajax({ 
url: 'servlet/*****Servlet', 
     dataType: "text", 
     success: function(data) { 
     var subareaCoordsPGs = preprocessCoords(data); 
     } 
    }); 

यह अच्छा काम करता है मैं भी क्रोम में डेटाप्रकार सेट नहीं किया, हालांकि, यह में विफल एक्सएमएल पार्सिंग त्रुटि के साथ एफएफ।

Response Headersview source
Server Apache-Coyote/1.1
Transfer-Encoding chunked
Date Tue, 04 Oct 2011 00:08:08 GMT
Request Headersview source
Host localhost:8080
User-Agent Mozilla/5.0 (Windows NT 5.2; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept text/plain, /; q=0.01
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,;q=0.7
Connection keep-alive
X-Requested-With XMLHttpRequest
Referer http://localhost:8080/
*/
Cache-Control max-age=0

XML Parsing Error: not well-formed Location: moz-nullprincipal:{2f6a8381-b987-448b-88c2-e89c4e13440b} Line Number 1, Column 4:

[email protected] -33.9353900931769,151.247877472978 -33.9360784582012,151.24...
------^

की खोज के बाद, मैं इसे उचित डेटा प्रकार सेट करने के लिए अच्छा है, मैं चाहता हूँ कि यह सिर्फ सामान्य पाठ के रूप में पार्स किया जा सकता, लेकिन क्यों एफएफ में बुद्धिमान अनुमान नहीं काम करता है, यहां तक ​​कि मैं सेट यह प्रकार है "पाठ" स्पष्ट रूप से?

+1

ध्यान दें कि अगर आपको यह संदेश प्राप्त होता है, तो भी आपकी सफलता कॉल डेटा के साथ ट्रिगर हो सकती है। फ़ायरफ़ॉक्स का नवीनतम संस्करण शिकायत कर सकता है लेकिन फिर भी जारी रहता है, या कम से कम मेरे मामले में फ़ायरफ़ॉक्स 55 ने किया था। यह त्रुटि संदेश मेरे लिए थोड़ी देर के लिए लाल हेरिंग के रूप में कार्य करता था क्योंकि मुझे लगता है कि यह घातक था। –

+0

@ जे। एलन: मुझे एक ही समस्या का सामना करना पड़ रहा है। मैं इस मुद्दे को फ़ायरफ़ॉक्स के नवीनतम संस्करण में देख रहा हूं। इसे हल करने के लिए कोई विचार? – santoshM

उत्तर

16

आपका सर्वर सामग्री-प्रकार वापस नहीं कर रहा है, इसलिए फ़ायरफ़ॉक्स मानता है कि चूंकि यह _XML_HttpRequest है आपकी प्रतिक्रिया एक्सएमएल हो सकती है और इसे पार्स करने का प्रयास करती है। जब यह विफल हो जाता है, तो यह कोशिश करना बंद कर देता है और रिपोर्ट करता है कि यह एक्सएमएल नहीं था।

क्रोम संभवतः वही करता है लेकिन कुछ भी रिपोर्ट नहीं करता है।

मैं वास्तव में एक सामग्री-प्रकार शीर्षलेख भेज रहा हूं जो दर्शाता है कि आपका डेटा क्या है।

+0

आपके लिए संकेत देता है। मैंने सामग्री-प्रकार टेक्स्ट/सादा सेट किया था; charset = UTF-8 jQuery अजाक्स का उपयोग करके पैरामीटर सामग्री सेट करें टाइप करें: "टेक्स्ट/सादा; अक्षरसेट = यूटीएफ -8", और यह अभी भी क्रोम के लिए काम करता है लेकिन फ़ायरफ़ॉक्स – qc999

+0

@ qc999 के लिए नहीं मुझे नहीं पता कि jQuery चीज क्या करती है। क्या यह एक्सएचआर ऑब्जेक्ट पर ओवरराइड माइम टाइप टाइप करता है? –

+0

@ बोरिस ज़बरस्की मैंने फायरबग से अनुरोध हेडर की जांच की थी, ऐसा लगता है: होस्ट: लोकलहोस्ट: 8080 उपयोगकर्ता-एजेंट: मोज़िला/5.0 (विंडोज एनटी 5.2; WOW64; आरवी: 7.0.1) गेको/20100101 फ़ायरफ़ॉक्स /7.0.1 स्वीकार करें: पाठ/सादा, */*; q = 0.01 स्वीकार्य-भाषा: en-us, en; q = 0.5 स्वीकार्य-एन्कोडिंग: gzip, डिस्प्ले करें-स्वीकार करें: आईएसओ -885 9 -1, utf-8; q = 0.7, *; q = 0.7 कनेक्शन: जीवित रहें सामग्री-प्रकार: टेक्स्ट/सादा; charset = UTF-8 एक्स-अनुरोधित-साथ: XMLHttpRequest इसलिए मुझे लगता है कि यह सामग्री प्रकार ओवरराइड था। लेकिन अभी भी एक ही एक्सएमएल पार्स समस्या है। – qc999

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