0

私は iPhone 用のアプリを開発していますが、1 つの呼び出しでスタックしています。データを POST 経由で送信する必要があります。

param_one = request.POST['param_one']
param_two = request.POST['param_two']

しかし、データを送信することはできません...

私はobjective-cを学んでいるので、例を挙げてそれを行う方法を教えてください。

PS:データを送信しない、またはURL(GETメソッド)を介してデータを渡す他のすべての呼び出しは正常に機能するため、正しく接続しています

私が使用しているコードは次のとおりです。

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"somename" forKey:@"user"];
NSString *jsonString = [dict JSONRepresentation];
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *  request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://web.com/custom/url/call/"]];
[request setValue:jsonString forHTTPHeaderField:@"json"];
[request setHTTPMethod:@"POST"];
[request addValue:csrf forHTTPHeaderField:@"X-CSRFToken"];
[request setHTTPBody:jsonData];
senddata = [[NSURLConnection alloc] initWithRequest:request delegate:self];
4

1 に答える 1

1

おそらく追加する必要があります:

[request setValue:@"application/json; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];

サーバーは、送信しているものが UTF-8 でエンコードされた JSON であることを認識し、それを適切に解析できます。それ以外の場合は、形式のないデータの塊を取得するだけです。

デバッグ目的でない限り、JSON 文字列をヘッダーと本文の両方に入れるのは非常に奇妙です。

于 2013-04-12T00:40:16.757 に答える