我正在寻找需要在iPad上显示UIWebView的项目的起点。值得注意的是,HTML将由pad生成并显示在UIWebView中,并包含许多输入控件。
在用户完成条目之后,需要一种获取这些控件内容的方法,类似于我在服务器上的操作方式。我需要在没有实际提交的情况下在iPad上抓取这些输入的数据。
有没有人知道这种互动的起点?
答案 0 :(得分:1)
您可以通过实现UIWebViewDelegate委托的shouldStartLoadWithRequest方法来实现此目的:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSData* data = request.HTTPBody;
NSString* s = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if([s length] == 0)
return YES;
else
return NO;
}
它适用于帖子。
答案 1 :(得分:0)
这是一种方法:
示例网址可以是:myapp:// value_of_field1 / value_of_field2 / ...
请参阅链接教程,了解如何注册自定义方案以及如何在Obj-C中检索数据。
答案 2 :(得分:0)
在之前发表的文章中,它还提到了UIWebViewDelegate方法,
webView:shouldStartLoadWithRequest:navigationType:
在跟踪链接之前,会在委托上调用此方法。我没有尝试过,但在提交表单时可能会调用此方法。使用GET方法。比不必循环退出应用程序更容易。
答案 3 :(得分:0)
可以用简单的方式完成.. 我们知道HTTP请求包含 -
如果它是x-www-form-urlencoded,我们可以检查Conent类型的头字段值 然后表单字段值通过它们作为键=值对发送
然后我们可以抓住therse paires webView:shouldStartLoadWithRequest:navigationType: - 请求参数为[请求HTTPBody],同样我们可以获得方法[HTTPMethod] ..等等
如果它只是GET方法,则所有对都将在请求中。
:)希望它有所帮助