0

ユーザーに Web フォーム自体を見せずに、Web フォームに入力してデータを送信しようとしています。バックグラウンドで HTTP POST を実行するために AFNetworking を使用しようとしましたが、解決できない問題にぶつかり、別の方法を試すことにしました。

今回UIWebViewは、背景に隠れている があります。webViewDidFinishLoad:webView次に、次のように Javascript を使用して、それぞれのフィールドのテキストを編集します。

NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setObject:nameField.text     forKey:@"name"];
[params setObject:emailField.text    forKey:@"email"];
[params setObject:titleField.text    forKey:@"title"];
[params setObject:dateString         forKey:@"link"];
[params setObject:descriptionTV.text forKey:@"content"];
[params setObject:tag                forKey:@"tags"];

[params enumerateKeysAndObjectsUsingBlock:^(id key, id object, BOOL *stop) {
    NSLog(@"%@ = %@", key, object);
    NSString *javascriptString = [NSString stringWithFormat:@"document.getElementById('%@').value = '%@'",key,object];
    [webView stringByEvaluatingJavaScriptFromString:javascriptString];
}];

同じことを行う方法はありますが、画像/ファイルをアップロードする方法はありますか?

4

1 に答える 1

0

NSHTTPRequestPOSTフォームに直接使用する必要があります。UIWebView、hidden などを使用する必要はありません。これを実装する方法の例については、この回答を参照してください。これの別の例を次に示します。

于 2013-04-27T16:57:44.777 に答える