android加载本地html请求网络:NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load

公司app之前一直使用加载网络Html,最近有一个较大模块全部使用网络下载资源包,加载本地Html,在加载本地Html的过程中或者之后的操作会请求网络,html在使用ajax请求网络的时候会报一个异常:

NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load

问题的原因:浏览器因安全问题不支持ajax请求
解决方法:
网上有一种解决方法就是将ajax的请求配置参数改为异步,如下:

  async: true,//false改为true

但如果在html中必须使用同步请求,这个方法就不是那么好的解决方式,其实这个问题完全可以在android端初始化WebView的时候配置解决,如下:

WebSettings ws = mWebView.getSettings();
ws.setAllowUniversalAccessFromFileURLs(true);

参考链接:
https://stackoverflow.com/questions/20425481/android-webview-ajax-local-files

你可能感兴趣的:(android-bug之路)