首頁 > 後端開發 > php教程 > 詳解Ajax的特性及亂碼問題

詳解Ajax的特性及亂碼問題

小云云
發布: 2023-03-18 06:08:01
原創
1572 人瀏覽過

ajax的全名是asynchronous javascript and XML ,它是異步的js和XML。它是局部刷新,非同步操作。本文為大家介紹了ajax的特色及亂碼問題,有興趣的朋友一起看看吧,希望能幫助大家。

在講解之前我先跟大家說一下線性資料結構吧,我們可以把單線性資料結構當成一條線段,線段是有頭有尾的大家總知道吧,單線程就是線段的頭部沒有前區,尾部沒有後區,中間的每個元素前後都各有兩個元素,少了一個元素的時候,同時會有兩個元素知道並且告訴你。而且是缺少一個元素都不行。

回呼函數就是把函數A當作參數傳遞給函數B,函數B執行這個函數A。回呼函數最常見的用法就是我們ajax請求資料時所用的succes() and error()這兩個函數,還有setInterval裡面的第一個參數,也是用了回呼函數。回呼函數,回呼函數,回呼的字面意思可不就是掉個頭回去再把那條路走一遍嘛。所以ajax在回呼函數success()或是error被觸發的時候掉過頭去又走了一次,然後他就是異步的了,同時ajax是異步的,跟他類似的還有es6的promise(異步的同步操作) 。

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

第二個問題,當萬能的前端遇到ajax獲取後台資料時亂碼是怎麼回事應該是大家很糾結的。
-或許是網路速度問題,網路太慢。

-或許是編碼格式不統一,你的後台兄弟坑了你,哈哈哈哈

ajax原生代碼都可否記得,不如我帶你們捋一遍呀,看代碼:


//1.创建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.发送异步请求
 xhr.send(null);//get
 xhr.send(string);//post
//4.获取返回数据
 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("p1").innerHTML = data;
}
登入後複製

相關推薦:

實例講解Ajax非同步請求技術

AJAX的常用語法是什麼

AJAX原理與CORS跨域的方法

#

以上是詳解Ajax的特性及亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板