Ajax(未整理完)
阿新 • • 發佈:2019-01-13
Ajax知識點
- Ajax全稱Ansync JavaScript and XML,是一門非同步的載入技術,區域性重新整理
- Ajax的使用分為原生和jquery兩種,原生了解就行
- Ajax功能:
非同步載入,可以在不過載整個網頁的前提下,進行區域性重新整理
json
// json物件
var obj = {"name":"xiaoge","age":18,"sex":"boy"}
console.log(obj);
console.log(typeof obj)
// 可讀可寫
console.log(obj.name);
obj.age=20;
console.log(obj);
//json遍歷
for (var key in obj){
console.log(key+":"+obj[key])
}
json物件轉字串
// JSON轉字串
var obj1 = JSON.stringify(obj);
console.log(obj1);
console.log(typeof obj1);
字串轉json物件
// 字串轉JSON
var obj2 = JSON.parse(obj1);
console.log(obj2);
console.log(typeof obj2);
前後互動
Ajax
原生Ajax
- 原生的Ajax,僅用於瞭解,知道Ajax底層是通過XMLHttpRequest物件創造
xhr.setRequestHeader(‘Content-Type’,‘application/x-www-form-urlencoded;charset-UTF-8’);
XMLHttpRequest物件的主要方法:
第一步:建立需要的物件,這裡主要用到的是XMLHttpRequest,注意需要考慮不到前期的IE
第二步:連線和傳送
第三步:接受
a. void open(String method,String url,Boolen async) 用於建立請求
引數:
method:請求方式(字串型別),如:POST、GET、DELETE…
url:要請求的地址(字串型別)
async:是否非同步(布林型別)
b.void send(String body)
用於傳送請求
引數:
body:要傳送的資料(字串型別)
c.void setRequestHeader(String header,String value)
用於設定請求頭
a.Number readyState 狀態值(整數) 詳細 0-未初始化,尚未呼叫open()方法 1-啟動,呼叫了open()方法,為呼叫send()方法 2-傳送,已經呼叫了send()方法,未接收到響應 3-接收,已經接收到部分響應資料 4-完成,已經接收到全部響應資料 b.Function onreadystatechange 當readyState的值改變時自動觸發執行其對應的函式(回撥函式) c.String responseText 伺服器返回的資料(字串型別) d.XmlDocument responseXML 伺服器返回的資料(Xml物件) e.Number states(200系列的都是正常的) 狀態碼(整數),如:200、404.... f.String statesText 狀態文字(字串),如:OK、NotFound....
jQuery Ajax
1.匯入jQuery
2.基本方法$.get(){}和$.post(){}