html - 以编程方式按 NSURLRequest 中的 html 按钮

标签 html ios xcode afnetworking nsurlrequest

我有一个 html 表单,当它加载时已经填充了数据。它有保存和应用按钮。

我想更改表单上的 1 项并从我的 iOS 应用程序发布它。问题是,当我发送带有我正在更改的项目的已更改表单数据信息的 POST 时,我还需要提交表单中的所有其他当前设置,否则它们会被空白覆盖。 (我无法控制编辑页面)。
我可以预先解析页面以从表单中获取显示的数据,然后使用 POST 发送它,但是页面对于每个用户来说可能会有所不同,因此这将非常困难。

在网页浏览器中,当我在加载页面后点击“保存”按钮时,我可以看到所有 POST header 和表单数据,所以我想我可以在我的应用程序中执行此操作以获取当前数据然后修改 1我想更改的项目,然后重新发布。

所以我的问题是,如果我使用 AFNetworking 读取一个页面,我是否可以模拟按下该页面上的“保存”按钮,这样我就可以读取响应,但这次是使用 POST 和 header 数据?

或者关于如何实现这一目标的任何替代想法?

最佳答案

这可能通过访问文档对象模型来工作...检查语法...

NSString *formValue = [webView stringByEvaluatingJavaScriptFromString
                        :@"document.forms[0].elements[0].value"];

//...change value...

NSString *jScript = [NSString stringWithFormat
                     :@"document.forms[0].elements[0].value='%@';", formValue ];

[webView stringByEvaluatingJavaScriptFromString: jScript ];

[webView stringByEvaluatingJavaScriptFromString: @"document.forms[0].submit();"];

关于html - 以编程方式按 NSURLRequest 中的 html 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13136214/

相关文章:

html - 将具有多行文本的 block 居中

ios - 如何使用Moscapsule接收订阅Topic的消息

iphone - 如何在iPhone中的服务器中上传图像,音频,数据库ID,字幕

ios - 在 Xcode "Provisioning Profile"build设置中配置 "Code Signing"选项

iphone - 为 UIView 获取 "unrecognized selector sent to instance"

javascript - 页面加载完成后如何调用函数? (只有那时..)

javascript - 为什么 Safari 或 Firefox 无法处理来自 MediaElementSource 的音频数据?

javascript - 如何自定义Intl.DateTimeFormat日期?

ios - Xcode 8 非常慢的 Swift 编译

ios - 使用通过 StartupItem 作为 mac osx slave 启动的 jenkins 摆脱钥匙串(keychain)列表中的重复系统钥匙串(keychain)