如何在加载HTMLString的UIWebView中提交表单:baseURL:?

时间:2011-05-02 11:15:38

标签: iphone objective-c forms uiwebview

OHI,

我正在显示一个html页面,其中包含一个带有一些输入文本字段和提交按钮的表单。

  • 如果我使用 loadRequest显示页面:一切正常。
  • 如果我使用 loadHTMLString:baseURL:显示相同的页面,则提交按钮不再有效。

应该被叫的地址是:

http://..../lire.php?id=33570#bloc_commentaire

如果我记录地址,它会尝试触及我:

  

applewebdata:// BF6F3D92-9F36-40CA-A3EB-BCD3F14852B6#bloc_commentaire

您是否知道我应该怎么做才能发布使用loadHTMLString静态加载的表单:baseURL:?

谢谢, 文森特

1 个答案:

答案 0 :(得分:7)

出现此问题是因为您的Web视图不知道在何处发布数据,因为html是从字符串而不是特定的Web服务器加载的。

确保在通话中正确设置baseURL

 [webView loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL]

<强>详细信息:

当webview在html中找到相对url时,它会将其与baseURL连接以形成一个绝对url,可用于提交或单击。例如:

http://www.test.com/foo/设为baseURL并将相对网址标记设为<a href="bar/hello.php">click me</a>

当用户点击该链接时,该视图会向http://www.test.com/foo/bar/hello.php

发出请求