का उपयोग कर उद्देश्य सी में पोस्ट डेटा मैं एक PHP वेब सेवा में डेटा पोस्ट करने की कोशिश कर रहा हूं।
मैं क्वेरी $ .post का उपयोग कर एचटीएमएल में ऐसा करने में परिचित हूं, लेकिन मैं इसे उद्देश्य सी में कोशिश कर रहा हूं। मैंने कई ब्लॉग & स्टैक ओवरफ्लो पर पाए गए प्रश्नों की कोशिश की।जेसन
NSString *jsonRequest = [NSString stringWithFormat:@"{\"Email\":\"%@\",\"FirstName\":\"%@\"}",user,fname];
NSLog(@"Request: %@", jsonRequest);
NSURL *url = [NSURL URLWithString:@"http:myurl..."];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
मैं यह भी कोशिश की:
मैं आखिर में निम्न कोड के साथ आया था
NSURLConnection * कनेक्शन = [[NSURLConnection alloc] initWithRequest: अनुरोध प्रतिनिधि: स्वयं];
मेरी वेब सेवा पोस्ट पर एक नया उपयोगकर्ता बनाता है और उपयोगकर्ता आईडी देता है। दोनों सफलतापूर्वक वेब सेवा कॉल (एक नया उपयोगकर्ता आईडी बनाया गया है) बनाते हैं, हालांकि वे डेटा पोस्ट नहीं करते हैं, यानी हर बार एक खाली उपयोगकर्ता बनाया जाता है।
कृपया मुझे बताएं कि मुझे कुछ याद आ रहा है या नहीं।
धन्यवाद।
मेरे अन्य प्रयास:
NSMutableURLRequest *request =
[[NSMutableURLRequest alloc] initWithURL:
[NSURL URLWithString:@"myUrl.. "]];
[request setHTTPMethod:@"POST"];
NSString *postString = @"[email protected]&FirstName=Test";
[request setValue:[NSString
stringWithFormat:@"%d", [postString length]]
forHTTPHeaderField:@"Content-length"];
[request setHTTPBody:[postString
dataUsingEncoding:NSUTF8StringEncoding]];
[[NSURLConnection alloc]
initWithRequest:request delegate:self];
मैं अंत में समस्या हल हो जाती: अंत में, पता लगा कि क्या गलत था। मैं अपने यूआरएल के रूप में http://mypath?params=123 का उपयोग कर रहा था। मैंने पूरा यूआरएल नहीं बनाया (इसे अन्य भाषाओं में कभी भी जरूरी नहीं)। लेकिन यहाँ मैं HTT देने की जरूरत: //mypath/index.php पैरामीटर = 123
आपका सर्वर ठीक काम कर रहा है? –
हां बहुत .. जैसा कि मैंने अपने प्रश्न में उल्लेख किया है, मैं इसे jquery का उपयोग करके बहुत सफलतापूर्वक करता हूं। इसके अलावा, इस मामले में उद्देश्य सी का उपयोग कर सर्वर उपयोगकर्ता आईडी के साथ प्रतिक्रिया करता है, जो मैंने पोस्ट किए गए डेटा को स्वीकार नहीं किया है। – Praneeta
यदि मैं एनएसएमयूटेबल डिक्शनरी * पैराम्स = [एनएसएमयूटेबल डिक्शनरी] जैसे शब्दकोश बनाता हूं; [पैरा सेटऑब्जेक्ट: [ईमेल टेक्स्ट] के लिए: @ "ईमेल"]; [पैरा सेटऑब्जेक्ट: [फर्स्टनाम टेक्स्ट] के लिए: @ "फर्स्टनाम"]; [पैरा सेटऑब्जेक्ट: [अंतिम नाम टेक्स्ट] के लिए: @ "लास्टनाम"]; क्या इसे एनएसडीटा में बदलने और इसे पोस्ट करने का कोई तरीका होगा? क्या JSON स्ट्रिंग पोस्ट करने के बजाय यह बेहतर काम करेगा? – Praneeta