我正在尝试填写 Web 表单并提交数据,而不让用户看到 Web 表单本身。我曾尝试使用 AFNetworking 在后台执行 HTTP POST,但遇到了一个我无法解决的问题并决定尝试其他方法。
这一次,我有一个UIWebView
隐藏在后台的。然后,我使用 Javascript 编辑各个字段中的文本,webViewDidFinishLoad:webView
如下所示:
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];
}];
除了上传图像/文件,有什么方法可以做同样的事情吗?