[解決済み] AFNetworking 投稿のお願い
2023-06-30 21:10:31
質問
私はobj-cの初心者で、いくつかのプロジェクトでasihttpを使用しています。asihttpでpost requestを行う場合、このように行われます。
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:height forKey:@"user[height]"];
[request setPostValue:weight forKey:@"user[weight]"];
[request setDelegate:self];
[request startAsynchronous];
AFNetworkingでこれを行うには、どのようなコード例があるのでしょうか?
私はすでにAFNetworkingで動作するJson getrequestを得たが、このpost requestは私にいくつかの問題を与えています。事前に助けをありがとうございます。
どのように解決するのですか?
まず最初に、AFNetworking を使うべきかどうかを検討する必要があることを付け加えておきます (この回答は最初に書いてから 6 年経っても人気があるので...)。NSURLSession は iOS 7 で追加され、多くの場合 AFNetworking を使用する必要がないことを意味し、サード パーティ ライブラリが 1 つ減ることは常によいことです。
AFNetworking 3.0 の場合。
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSDictionary *params = @{@"user[height]": height,
@"user[weight]": weight};
[manager POST:@"https://example.com/myobject" parameters:params progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
AFNetworking 2.0用(そして新しいNSDictionary構文も使用)。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *params = @{@"user[height]": height,
@"user[weight]": weight};
[manager POST:@"https://example.com/myobject" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
AFNetworking 1.0を使っていて行き詰ったときは、この方法でやる必要があります。
NSURL *url = [NSURL URLWithString:@"https://example.com/"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
height, @"user[height]",
weight, @"user[weight]",
nil];
[httpClient postPath:@"/myobject" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"Request Successful, response '%@'", responseStr);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[HTTPClient Error]: %@", error.localizedDescription);
}];
関連
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] UINavigationBarの1px下の行を非表示にする方法
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] SwiftでURLから画像を読み込む/ダウンロードする
-
[解決済み] UITextFieldのテキストインセット?
-
[解決済み】リクエストに失敗しました: 受け入れられない content-type: text/html AFNetworking 2.0 を使用しています。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
[エラー処理】iOSのエラー、アーキテクチャx86_64の未定義シンボルについて
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] iOSアプリをApple Developer Programや脱獄せずにデバイス上でテストすることができます。