溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ajax亂碼怎么辦

發(fā)布時間:2021-07-13 15:36:26 來源:億速云 閱讀:123 作者:小新 欄目:web開發(fā)

小編給大家分享一下Ajax亂碼怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

ajax的全稱是asynchronous javascript and XML ,它是異步的js和XML。它是局部刷新,異步操作。

大家都知道ajax是單線程的,而且本身是同步的,但是單線程為什么可以異步肯定大多數(shù)人并不知道,下面由張燕妮同學(xué)給大家講解一下子(不是很官方,但是很好理解):

在講解之前我先給大家說一下線性數(shù)據(jù)結(jié)構(gòu)吧,我們可以把單線性數(shù)據(jù)結(jié)構(gòu)當(dāng)成一條線段,線段是有頭有尾的大家總知道吧,單線程就是線段的頭部沒有前區(qū),尾部沒有后區(qū),中間的每個元素前后都各有兩個元素,少了一個元素的時候,同時會有兩個元素知道并且告訴你。而且是缺一個元素都不行。

回調(diào)函數(shù)就是把函數(shù)A當(dāng)做參數(shù)傳遞給函數(shù)B,函數(shù)B執(zhí)行這個函數(shù)A?;卣{(diào)函數(shù)最常見的用法就是我們ajax請求數(shù)據(jù)時用到的succes() and error()這兩個函數(shù),還有setInterval里面的第一個參數(shù),也是用了回調(diào)函數(shù)?;卣{(diào)函數(shù),回調(diào)函數(shù),回調(diào)的字面意思可不就是掉個頭回去再把那條路走一遍嘛。所以ajax在回調(diào)函數(shù)success()或者error被觸發(fā)的時候掉過頭去又走了一次,然后他就是異步的了,同時ajax是異步的,跟他類似的還有es6的promise(異步的同步操作)。

瀏覽器的進程是多進程的,至于為什么就跟你為什么叫XXX是一個道理呦~

第二個問題,當(dāng)萬能的前端遇到ajax獲取后臺數(shù)據(jù)時亂碼是怎么回事應(yīng)該是大家很糾結(jié)的。
-或許是網(wǎng)速問題,網(wǎng)太慢。

-或許是編碼格式不統(tǒng)一,你的后臺兄弟坑了你,哈哈哈哈

ajax原生代碼都可否記得,不如我?guī)銈冝垡槐檠?,看代碼:

//1.創(chuàng)建xmlhttpRequest對象
var xhr;
try{
   xhr = new XMLHttpRequest();
   console.log(5555)
}
catch(e){
//ie瀏覽器低版本兼容
   xhr = new ActiveXobject("Microsoft.XMLHTTP");
}
finally{
  console.log(1111)
}
// try{} catch{} finally{}在這里是處理異常的方法,用if{}else{}也ok 
//if(window.XMLHttpRequest){
 // xhr = new XMLHttpRequest();
//  }else{
  //ie瀏覽器低版本的兼容
 // xhr = new ActiveXobject("Microsoft.XMLHTTP")
//}
//2.建立異步連接
xhr.open("get","url/+string",true/false);//true是異步,false是同步
//xhr.open("post","url",true/false)
//3.發(fā)送異步請求
 xhr.send(null);//get
 xhr.send(string);//post
//4.獲取返回數(shù)據(jù)
 xhr.onreadystatechange = function (){
  if((xhr.readystate)==4&&(xhr.status==200)){
   var data = xhr.responseText;
   var data = JSON.parse(data);
   show(data);
}
}
function show(data){
 document.getElementById("div1").innerHTML = data;
}

以上是“Ajax亂碼怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI