0

基本的にこれは機能しているように見えますが、サーバー側では、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];
4

0 に答える 0