问题描述
我正在使用 inappwebview 包,它打开一个网页。我想从我的 Flutter 应用程序接收一些数据到我的网页 (PHP/html) 或者可能有更好的选择?基本上用户在应用程序中选择一个产品,然后 inappwebview 包将打开此网页以显示某些特定产品)。
我发现 inappwebview postData:“使用 POST 方法将给定的 [url] 与 [postData] 加载到此 WebView 中”,我尝试过的是;
controller.postUrl(
url: "web link",postData: utf8.encode(data)
);
而在网页(PHP)中,我不知道这个数据是如何接收的,我试着这样写;
$data =utf8_decode($_POST['postData']);
我猜这不正确。请帮帮我!
解决方法
postData
参数表示 HTTP POST 请求的正文。
使用 flutter_inappwebview 插件最新版本 5.0.5+3
的一个简单示例是:
var postData = Uint8List.fromList(utf8.encode("firstname=Foo&lastname=Bar"));
controller.postUrl(url: Uri.parse("https://example.com/my-post-endpoint"),postData: postData);
其中 postData
是 x-www-form-urlencoded
格式的请求正文。
因此,在您的 PHP 服务器中,您可以像往常一样访问 firstname
和 lastname
值,即 $_POST['firstname']
和 $_POST['lastname']
。