从Webview中的本地HTML文件调用AJAX

时间:2014-04-16 15:37:02

标签: android jquery ajax android-webview

我正在努力从加载到WebView的本地HTML文件中进行简单的AJAX调用。

我的jQuery代码:

$.ajax({
    crossDomain: true,
    dataType: 'json',
    url: 'http://www.example.com',
}).done(function(data) {
    // some stuff here to go through data
});

我的网页设置:

WebSettings webSettings = webView.getSettings();
webSettings.setAppCacheEnabled(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);
webSettings.setPluginState(WebSettings.PluginState.ON);

我曾尝试使用JSONP,但是我得到了一个解析错误,说没有调用回调(这可以在我的电脑上运行时从本地文件加载,在Chrome内部 - 回调肯定有效,但Android无法&# 39;弄明白吗?)

提前致谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试在服务器脚本中设置响应标头Access-Control-Allow-Origin: *? 在php中,在响应之前设置此标头:

header('Access-Control-Allow-Origin: *');

必须在WebView中设置注释特殊。 Opera通常会在optionsget之前发送post请求,因此如果上面没有标题条目,则此options请求会失败,但这就是它在桌面上的工作方式浏览器。