मेरे पास जावा स्प्रिंग एमवीसी नियंत्रक है जो अपवाद फेंक सकता है। मेरे पास इन त्रुटियों को संभालने के लिए @ExceptionHandler सेटअप है, और मैं इसे कॉलर को अपवाद का संदेश वापस करने के लिए उपयोग करना चाहता हूं।jQuery .error jqXHR.responseText खाली है
सर्वर कोड है:
@ExceptionHandler(DeviceException.class)
@ResponseStatus(HttpStatus.METHOD_FAILURE)
@ResponseBody
public String handleException(DeviceException ex) {
return ex.getMessage();
}
मैं एक DeviceException फेंकने और CLI से कर्ल का उपयोग कर परिणाम प्राप्त करने का परीक्षण किया है, अपवाद के संदेश को प्रतिक्रिया शरीर में वापस आ जा रहा है। मैं jQuery .त्रुटि हैंडलर लेकिन यह प्रदर्शित करने के लिए नहीं मिल सकता है, मेरे हैंडलर कोड है:
error: function(jqXHR, textStatus, errorThrown) {
// problem, the data is always blank
alert('jqXHR.responseText = ', jqXHR.responseText);
}
सभी मैंने कभी responseText के लिए मिलता है एक खाली स्ट्रिंग है। मैं jQuery त्रुटि हैंडलर में प्रदर्शित करने के लिए @ExceptionHandler द्वारा वापस की गई स्ट्रिंग कैसे प्राप्त करूं? इस तरह
में आईआईएस एक्सप्रेस का उपयोग करने के लिए से तय हुई थी मैं नाराज हूं यह बहुत मुश्किल है इस मूल समस्या को ठीक करें, मैं कोई मदद लेता हूं, इससे कोई फर्क नहीं पड़ता कि कितना यादृच्छिक है :) –
मुझे एक ही समस्या है। jqXHR.responseText क्रोम में सेट है लेकिन एफएफ 3.6 नहीं है। मैं 'एप्लिकेशन/एक्स-www-form-urlencoded' पोस्ट कर रहा हूं और 'एप्लिकेशन/जेसन' वापस प्राप्त कर रहा हूं - क्या प्रोटोकॉल तोड़ रहा है? – rynop
क्या आप पूर्ण HTTP प्रतिक्रिया पोस्ट कर सकते हैं? –