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

vda*_*bry 3 forms iphone objective-c uiwebview

大井,

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

  • 如果我使用loadRequest显示页面:一切正常.
  • 如果我使用loadHTMLString显示相同的页面:baseURL:提交按钮不再起作用.

应该被称为的地址是:

HTTP://..../lire.php ID = 33570#bloc_commentaire

如果我记录地址,它试图达到我得到:

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

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

谢谢,文森特

Mar*_*man 7

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

确保您baseURL在通话中正确设置

 [webView loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL]
Run Code Online (Sandbox Code Playgroud)

细节:

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

鉴于http://www.test.com/foo/作为baseURL和相对URL标记艾克<a href="bar/hello.php">click me</a>

当用户点击链接时,视图将发出请求 http://www.test.com/foo/bar/hello.php