因为ssm服务器端用setheader设置了跨域,所以我用浏览器打开本地html,可以正常获取服务器端的JSON数据,但是我用手机中的webview获取不了服务器端数据,并且没有报错。
于是我百度了android 使用axios无效果,百度告诉我可能是axios不兼容的低版本的android,我一看我的andriod版本是4.44好像找到问题点了。
于是按照百度的方法,方法一引用es6-promise,ES6Promise.polyfill()和方法二引用babel-polyfill都是无效的。
此时我无可奈何,正好看到一篇讲解promise的文章https://blog.csdn.net/weixin_41888813/article/details/82882375
而百度axios不兼容的原因恰好是低版本的安卓无法使用了promise
于是尝试new 了promise发现竟然好用,那说明anroid4.4.4是支持
axios的?这时好运气来了,我发现promise的状态为rejected时,回执行catch方法,于是果断在then()方法后面加上,运行android问题终于露出了真面目 :Network Error。
百度此错误 给webview加上
WebSettings ws = mWebView.getSettings();
ws.setAllowUniversalAccessFromFileURLs(true);
给予android APP网络权限在AndroidManiifest中添加
<uses-permission android:name="android.permission.INTERNET"/>``