0

Objective-C と JSONKit から Rails バックエンドに投稿しようとしていますが、結果を公開するのに苦労しています。サーバーから null レコードセットが返され続けます。

[dictionary setValue:(@"bar")  forKey:@"foo"];

NSString *JSON = [dictionary JSONString];
NSData *theData = [JSON dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString: myUrl];

NSString *postLength = [NSString stringWithFormat:@"%d", [theData length]];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSError *error = NULL;
NSURLResponse *response = nil;

[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json-rpc" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:theData];
NSData *result = [NSURLConnection sendSynchronousRequest:request
                                       returningResponse:&response error:&error];

NSString *resultString = [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];
NSLog(resultString);

足りないものはありますか?JSONは正しくシリアライズされているようです

{"foo":"バー"}

どんな助けでも大歓迎です。
ありがとう!

4

1 に答える 1

1

setValue を json-rpc から json に変更しただけで、チャンピオンのように機能しました。

[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
**[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];**
[request setCachePolicy:NSURLRequestReloadIgnoringCacheData];
[request setHTTPBody:theData];
于 2011-09-26T23:33:03.210 に答える