我正在UIWbView中打开一个URL,用户可以在其中输入OTP,提交后将提供以下响应:
{“ success”:true,“” message“:支付成功”}
我希望如果成功的值是true,我将从超级视图中删除UIWebView。
我不知道如何从UIWebView中读取响应。
我尝试在stringByEvaluatingJavaScript(from:)
中将字符串数作为参数,但最后我通过传递"document.body.innerHTML"
来弄清它。
如果要从HTML元素/组件(例如文本字段等)中读取数据,则可以使用"document.getElementById('someElement').innerText"
。>
func webViewDidFinishLoad(_ webView: UIWebView) {
print("WebView did finish load...")
if !webView.isLoading {
Loader.hideLoading()
}
let str = webView.stringByEvaluatingJavaScript(from: "document.body.innerHTML")
if (str?.contains("\"success\":true"))! {
print("Success is true")
self.viewForWebView.removeFromSuperview()
}else {
print("Success is false or not found")
}
}