我正在努力从加载到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;弄明白吗?)
提前致谢!
答案 0 :(得分:0)
您是否尝试在服务器脚本中设置响应标头Access-Control-Allow-Origin: *
?
在php
中,在响应之前设置此标头:
header('Access-Control-Allow-Origin: *');
必须在WebView中设置注释特殊。
Opera
通常会在options
或get
之前发送post
请求,因此如果上面没有标题条目,则此options
请求会失败,但这就是它在桌面上的工作方式浏览器。