दिलचस्प पोस्ट
ऑब्जेक्ट मेमोरी एड्रेस एक्सेस करना विस्टा (.नेट) में ऊंचा नहीं कैसे चलाना WinForms का उपयोग कर नियंत्रण के Z- आदेश कैसे सेट करें Asp.net MVC 2 में बाल क्रियाओं में रीडायरेक्ट परिणाम की अनुमति क्यों नहीं है index.php डिफ़ॉल्ट रूप से लोड नहीं है क्लासपाथ संसाधन (XML फ़ाइल) से इनपुटस्ट्रीम प्राप्त करना एप्लिकेशन बंद होने के बाद प्रसारित होने वाले प्रसारण रिसीवर को रखें सीएसएस '>' चयनकर्ता; यह क्या है? CURLOPT_POSTFIELDS के लिए पोस्ट प्रारूप कर्ल करें अपाचे / PHP के साथ X-Sendfile का उपयोग करना Z- इंडेक्स स्टैकिंग ऑर्डर को समझना कैसे दो अक्षर के बीच एक स्ट्रिंग पाने के लिए? एक HTML तत्व की स्थिति (एक्स, वाई) पुनर्प्राप्त करें फ़ाइलों के साथ पोस्ट डेटा अपलोड करने के लिए कर्ल का उपयोग करना सूचना लेआउट बदलें

कोको त्रुटि 3840 JSON का उपयोग कर (आईओएस)

मैं किसी सर्वर पर डेटा भेजने का प्रयास कर रहा हूं और JSON प्रारूप में प्रतिक्रिया प्राप्त करता हूं। समस्या यह है कि सर्वर को "सफलता" या "असफल" लौटना पड़ता है लेकिन यह "(रिक्त)" देता है

यहां लौटा दी गई त्रुटि है:

त्रुटि डोमेन = एनएससीकाएअरडायमन कोड = 3840 "ऑपरेशन पूरा नहीं हो सका। (कोको त्रुटि 3840.)" (JSON पाठ सरणी या ऑब्जेक्ट और टुकड़े सेट नहीं होने के विकल्प के साथ शुरू नहीं किया था।) UserInfo = XXXXXXXXX {NSDebugDescription = JSON text सरणी या ऑब्जेक्ट के साथ शुरू नहीं किया और टुकड़ों को सेट करने की अनुमति देने के विकल्प।}

क्या यह संभव है कि सर्वर स्क्रिप्ट में त्रुटि है? कोई उपाय? धन्यवाद!

डेटा भेजने और प्रतिक्रिया प्राप्त करने के लिए यहां मेरा कार्य है:

- (void) putData:(NSString *)parametre valor:(NSString *)valor { NSString *rawString = [NSString stringWithFormat:@"%@=%@", parametre, valor]; NSData *data = [rawString dataUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:@"http://www.xxx.xxx/xxx.php"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"PUT"]; [request setHTTPBody:data]; NSURLResponse *response; NSError *error; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; NSLog(@"responseData: %@ error: %@", json, error); } 

वेब के समाधान से एकत्रित समाधान "कोको त्रुटि 3840 JSON का उपयोग कर (आईओएस)"

जब तक आप विकल्प NSJSONReadingAllowFragments को [NSJSONSerialization JSONObjectWithData:options:error:] से पास करते हैं, तो सर्वर से प्रतिक्रिया एक शीर्ष स्तर कंटेनर के साथ मान्य JSON होना चाहिए जो एक सरणी या शब्दकोश है

उदाहरण के लिए:

  { "response" : "Success" } 

पीएस यदि आप अस्थायी शब्दकोश चाहते हैं तो आपको अपने विकल्पों में NSJSONReadingMutableContainers भी शामिल करना होगा।

संभव है कि, आपके सर्वर से प्रतिक्रिया में मान्य JSON शामिल नहीं है।

तकनीकी तौर पर, JSON ऑब्जेक्ट को "सरणी" या "ऑब्जेक्ट (शब्दकोश)" के साथ शुरू होना चाहिए।

इसलिए, आपके सर्वर जो भी लौट रहा है वह नहीं है।

और, आप NSJSONReadingAllowFragments विकल्प का उपयोग करके चाहे JSON को भस्म होने के लिए मजबूर कर सकते हैं।

का उपयोग करके ,

 AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments]; 

यदि आप अपने आईओएस डिवाइस पर वीपीएन से कनेक्ट हैं तो आप इस मुद्दे को प्राप्त कर सकते हैं।