-1

我正在构建一个混合 android 应用程序(应用程序开发中的新功能)。在应用程序的主要部分,我有一个 webview。webview 显示 html 内容/javascript/css。

我需要从我的网络服务加载内容并将其放入我的网络视图中。我该怎么做呢?

我的 javascript

 $(document).ready(function(){
    $.ajax({
     type: "POST",
     url: "http://www.hiss.ly/api/test.php",
     cache: false,
     success: function(result){
         alert(result);
     },
     error: function(result){
        alert("Error");
     }
});
return false;
});

</script>

MainActivity.java

 @SuppressLint("JavascriptInterface")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Set the web view
    WebView webView =(WebView)findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);//beware of XSS vulnerabiliUes
    webView.setWebChromeClient(new WebChromeClient());
    webView.loadUrl("file:///android_asset/www/index.html");

}
4

2 回答 2

2

由于 webview 是客户端浏览器上下文,您可以使用本机 javascriptXMLHTTPRequest对象来使用您的 web 服务,或者为简单起见,您可以jQuery ajax在 webview 配置中使用启用 javascript 的方法。

于 2013-10-24T18:24:40.580 回答
0

由于跨域问题,它无法正常工作。下面的代码解决了它。

webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
于 2013-11-08T02:26:34.717 回答