2012-05-16 22 views
23

मेरे पास एक ऐसी स्थिति है जहां मुझे कॉलबैक ब्लॉक के भीतर से AFJSONRequestOperation के कच्चे प्रतिक्रिया डेटा तक पहुंचने की आवश्यकता है जिसमें केवल NSHTTPURLResponse शामिल है। मैं NSHTTPURLResponse से स्टेटस कोड प्राप्त करने में सक्षम हूं, लेकिन कच्चे डेटा तक पहुंचने का कोई तरीका नहीं दिख रहा हूं। क्या कोई अच्छा तरीका है कि किसी को इस ऑपरेशन के विफलता कॉलबैक ब्लॉक से इसका उपयोग करने के बारे में पता है?AFJSONRequestOperation के कॉलबैक में NSHTTPURLResponse से प्रतिक्रिया डेटा कैसे प्राप्त करें?

उत्तर

35

NSHTTPURLResponse में केवल HTTP शीर्षलेख जानकारी है; कोई शरीर डेटा नहीं। तो नहीं, यह असंभव होगा। यदि आपके पास इस कोड पर कोई नियंत्रण है, तो ब्लॉक या विधि ऑपरेशन को पास करें और responseData या responseJSON प्राप्त करें।

+0

मैट, मैंने यही सोचा, और मैंने प्रतिक्रिया डेटा प्राप्त करने के लिए ऑपरेशन का जिक्र किया, लेकिन यह निश्चित रूप से उस तरह बेकार महसूस करता है। क्या आपने वर्तमान में अतिरिक्त विकल्प जोड़ने पर विचार किया है जो प्रतिक्रिया डेटा और NSHTTPURLResponse देता है? –

+0

आप किस विधि के बारे में बात कर रहे हैं? कॉलबैक के सभी एएफएन विधियों में सबकुछ वापस लौटाया जाता है जिन्हें आप संचालन की स्थिति के बारे में जानना चाहते हैं - अर्थात ऑपरेशन ऑब्जेक्ट स्वयं कुछ अन्य प्रमुख भागों के साथ। – mattt

+0

मैं विशेष रूप से विधि JSONRequestOperationWithRequest के लिए जिक्र कर रहा हूं: सफलता: विफलता: –

-2

पुराना सवाल है, लेकिन वैसे भी ...

आप आपरेशन वस्तु को पाने के लिए की जरूरत नहीं है, आप आसानी से की तरह कुछ कर सकते हैं:

NSData * data = [NSJSONSerialization dataWithJSONObject:JSON options:0 error:nil]]; 
JSON आईडी कि कॉलबैक प्राप्त करता है के साथ

+0

विफलता कॉलबैक ब्लॉक में JSON ऑब्जेक्ट शून्य हो सकता है, क्योंकि यह अनुचित जेसन के कारण विफल हो सकता है। –