記錄一個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.最後就不知道問題所在了,如果你知道=-=請告訴我。