1. 程式人生 > >Ajax(未整理完)

Ajax(未整理完)

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(){}