记录一个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.最后就不知道问题所在了,如果你知道=-=请告诉我。