记录一个Android webview加载不出ajax内容的问题。
1. 问题还原: 在oppo和vivo 5.0手机上出现的,不知道是不是因为Android 5.0的原因。
然后换了webview框架,不用Android 自带原生的,用腾讯开发的框架TBS webview。然后发现oppo解决了这个ajax内容加载不出的问题,vivo依旧存在这个问题。然后就寻思着,是不是html中ajax是不是出问题了。
2.解决问题:然后将原来的ajax换成原生的ajax方式加载,然后就成了。
原ajax大致框架:
$.ajax({
type: "get",
url: "",
data: {
},
dataType: "json",
success: (json) => {
if (json.result === 0) {
}
}}
现在的ajax大致框架:
var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("POST","/try/ajax/demo_post2.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=Henry&lname=Ford"); 3.问题原因: 1.一开始怀疑的是vivo和oppo手机的问题,因为其他手机上都没问题。 2.之后发现2个手机的版本都是5.0的,然后猜测可能是Android 原生webview的问题。 3.但是我用腾讯TBS webview后,发现vivo 5.0还是会出现问题 ,oppo5.0已经没问题。 4.然后又回到了原点,是手机问题吗,解析不了ajax框架.必须用原生的ajax才行。 5.最后就不知道问题所在了,如果你知道=-=请告诉我。