我正在嘗試將數據發佈到PHP Web服務。
我很熟悉在HTML中使用查詢$ .post這樣做,但我非常難以嘗試這在客觀C. 我嘗試了幾個博客&在stackoverflow上找到的問題。使用Json在Objective C中發佈數據
我終於想出了以下代碼:
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的頁頭] initWithRequest:請求委託:自我];
我的web服務在帖子上創建一個新用戶並返回用戶標識。 兩者都成功進行Web服務調用(創建一個新的用戶ID),但它們不會發布數據,即每次都會創建一個空白用戶。
請告訴我,如果我缺少任何東西。
謝謝。
我的其他嘗試:
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 PARAMS = 123
是您的服務器正常工作? – 2012-03-27 03:49:16
是的非常..正如我在我的問題中提到的,我非常成功地使用jquery。另外,在這種情況下,使用Objective C服務器響應一個用戶ID,只是不接受我發佈的數據。 – Praneeta 2012-03-27 03:50:56
如果我創建一個字典,如 NSMutableDictionary * parms = [NSMutableDictionary dictionary];[parms setObject:[email text] forKey:@「Email」];[parms setObject:[firstname text] forKey:@「FirstName」];[parms setObject:[lastname text] forKey:@「LastName」]; 會有一種方法將其轉換爲NSData併發布它?這會更好,而不是發佈JSON字符串? – Praneeta 2012-03-27 04:23:33