2014-01-14 52 views
0

在我的Android应用程序中,Webview显示带有2个按钮的网站。其中一人通过发送POST和数据通过GET另外一个,像这样:GET和POST ajax Android Web视图

$("#post").click(function() { 
      $.ajax({ 
       type: "POST", 
       url: "test.php", 
       dataType: "text", 
       data: { name: "Max", time: "7pm" }, 
       success: function(data) { 
        $("body").append("<p>"+data+"</p>"); 
       } 
      }); 

我的问题是:是否有可能发送的数据进入Android应用程序?

回答

1

定义JSInterface并通过引用webview.addJavascriptInterface()将数据从javascript发送到android和webView.loadUrl("javascript: /*some javascript*/ ");以将数据从android发送到javascript。

0

我认为你在这里混合概念。

WebView与您的Android应用程序是分开的,所以POST数据在您的应用程序中不可见。想象一下,你为银行的网站打开一个WebView,从应用程序中你可以获得POST数据:你将能够获得用户名,密码......安全漏洞将是一个非常温和的名称。

如果您使用WebView显示的网页是您的(您可以控制它),则可以通过许多操作来获取数据,但基本上,您可以让应用程序“查询”数据的Web服务器,或者Web服务器将数据“推送”到应用程序。您甚至可以将信息追加到URL并执行重定向,这可以使用WebView截取并进行解析。

另一种选择是使用WebAppInterface(请参阅:http://developer.android.com/guide/webapps/webview.html),它基本上添加了一个JS对象,该对象允许与您的Android应用进行交互。

+0

通过点击按钮,发送的数据应该通过android应用程序发送到另一台服务器。我知道这有点棘手,因为它就像一个安全漏洞。你怎么看待通过异步任务传递整个互联网数据? – jan321

+0

使用WebAppInterface“传递”数据,这是另一种选择。 – s1m3n