3

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

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

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

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

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

4

1 回答 1

5

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

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();"];
于 2012-11-02T15:02:44.917 回答