我在使用phonegap在Android和iPhone上的网络浏览器上打开表单提交时遇到问题。我想用这样的js提交表格:
<html>
<body>
<form target="_blank" action="https://externalDomain.com">
<input value="123" />
<input value="456" />
</form>
<script>
form.submit();
// do something else
</script>
</body>
</html>
所以这个脚本的执行发生在设备上存储的文件中,可以说是“index.html”,我希望在浏览器上打开提交,因为我需要用户在“externalDomian”上填写支付处理器表单.COM”。然后,用户将再次进入应用程序,他可以检查付款是否已正确处理。
我在android上使用phonegap 2.0.0我在config.xml上尝试了这个配置,但它没有帮助
<access origin="https://externalDomain.com" browserOnly="true" />
在iPhone上我在Cordava.plist上将标志OpenAllWhitelistURLsInWebView设置为NO,也没有帮助。
非常感谢任何帮助。
答案 0 :(得分:0)
对表单进行AJAX提交,这样用户实际上不会重定向到外部网站,而是保存在您的应用中:
<html>
<body>
<form id="foo-form" target="_blank" action="https://externalDomain.com">
<input value="123" />
<input value="456" />
</form>
<script>
$('#foo-form').on('submit', function () {
//create AJAX request to submit form
$.get(this.action, $(this).serialize(), function (response) {
//the `response` variable now holds what the server returned after the form submission
});
//stop regular submission of form
return false;
});
</script>
</body>
</html>
然后,您可以将响应添加到DOM,允许用户填写外部表单。然后绑定到该表单并执行另一个AJAX提交。