[如何在Swift 4.0中从UIWebView读取响应或输出?以及stringByEvaluatingJavaScript(from:)

问题描述 投票:-1回答:1

我正在UIWbView中打开一个URL,用户可以在其中输入OTP,提交后将提供以下响应:

{“ success”:true,“” message“:支付成功”}

我希望如果成功的值是true,我将从超级视图中删除UIWebView。

我不知道如何从UIWebView中读取响应。

swift xcode uiwebview uiwebviewdelegate
1个回答
0
投票

我尝试在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")
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.