基本的にこれは機能しているように見えますが、サーバー側では、Query Dict は次のようになります。
POST: QueryDict: {u'Contestant1 John Doe Contestant2 Jane Doe ': [u'']}
ディクショナリに値のないキーとしてすべての値を保存しています。明らかに、これは iOS 側にあると私が推測している初歩的なミスです。コードは次のとおりです。
NSString *queryString = [NSString stringWithFormat:@"URL HERE"];
NSMutableURLRequest *theRequest=[NSMutableURLRequest
requestWithURL:[NSURL URLWithString:
queryString]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[theRequest setHTTPMethod:@"POST"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"Contestant1 %@ ",contestant1] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Contestant2 %@ ",contestant2] dataUsingEncoding:NSUTF8StringEncoding]];
[theRequest setHTTPBody:body];
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (con) {
NSLog(@"success!");
} else {
//something bad happened
}
編集: 私の問題の解決策。
NSDictionary *postDict = [NSDictionary dictionaryWithObjectsAndKeys:contestant1, @"contestant1",
contestant2, @"contestant2", nil];
NSError *error=nil;
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:postDict
options:NSJSONWritingPrettyPrinted error:&error];
[theRequest setHTTPBody:jsonData];