fluttercommunity/flutter_webview_plugin

onHttpError called with a 200 code

Open

#414 建立於 2019年5月9日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)Java (1,457 star) (919 fork)batch import
IOSbughelp wanted

描述

I'm using this plugin for a payment process (using a bank web interface). I first load a generated HTML page (given a Uri.dataFromString() with mimeType sets to text/html) that build a form that auto-submit with action field sets to the bank server URL (where you enter your credit card information).

This workflow works fine on Android but I'm having a strange behavior on iOS. Right after the state changed to WebViewState.startLoad (with the bank server URL), onHttpError is triggered with a HTTP 200 code.

I initially quit the webview when an error occur to show a message. So I add a test to avoid false error codes and the web page works fine despite the error.

My app use the latest version (0.3.5).

I would like to know what can cause this behavior, I tried to put breakpoints in Xcode to have more info directly from the WKWebView didFailNavigation (inside FlutterWebviewPlugin.m) but my breakpoint is never hit...

EDIT: Putting the breakpoint in WKWebView decidePolicyForNavigationResponse works. Reading the code inside this method I noticed that there is no test to determined if the response is effectively an error.

貢獻者指南

onHttpError called with a 200 code · fluttercommunity/flutter_webview_plugin#414 | Good First Issue