也可以簡單的理解為通過JS向服務器發(fā)送請求。
同步處理:
就是當我們通過一個頁面向服務器發(fā)送一個請求時,在服務器響應結束之前,我們的整個頁面是不能操作的,并且即使整個頁面中只有一小部分內容發(fā)生改變我們也要刷新整個頁面。
異步處理:
通過AJAX向服務器發(fā)送請求,當服務器正常響應請求后,響應信息會直接發(fā)送到AJAX中,AJAX可以根據(jù)服務器響應的內容做一些操作。并可局部的修改頁面,而不需要整個頁面刷新。
獲取XMLHttpRequest對象,不同瀏覽器之間有差異
//獲取XMLHttpRequest的通用方法function getXMLHttpRequest(){ var xhr; try{ //大部分瀏覽器都支持 xhr = new XMLHttpRequest(); }catch(e){ try{ //如果不支持,在這里捕獲異常并且采用IE6支持的方式 xhr = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ //如果還不支持,在這里捕獲異常并采用IE5支持的方式 xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } return xhr;}
XMLHttpRequest對象的方法
參數(shù)一:method
接收一個字符串,表明請求的方法:get或post
參數(shù)二:url
請求的地址,接收一個字符串
參數(shù)三:Assync
發(fā)送的請求是否為異步請求,接收一個布爾值。① true 是異步請求 ② false 不是異步請求(同步請求)
send(string):用于將請求發(fā)送給服務器,可以接收一個參數(shù)
string參數(shù)
該參數(shù)只在發(fā)送post請求時需要。用于設置請求體
setRequestHeader(header,value):用于設置請求頭
參數(shù)一:header參數(shù)
字符串類型,要設置的請求頭的名字
參數(shù)二:value參數(shù)
XMLHttpRequest對象的屬性
描述XMLHttpRequest的狀態(tài)
一共有五種狀態(tài)分別對應了五個數(shù)字:
0 :請求尚未初始化,open()尚未被調用
1 :服務器連接已建立,send()尚未被調用
2 :請求已接收,服務器尚未響應
3 :請求已處理,正在接收服務器發(fā)送的響應
4 :請求已處理完畢,且響應已就緒。
status
請求的響應碼
200 響應成功
404 頁面為找到
500 服務器內部錯誤
......
onreadystatechange
該屬性需要指向一個函數(shù)
該函數(shù)會在readyState屬性發(fā)生改變時被調用
responseText
獲得字符串形式的響應數(shù)據(jù)。
responseXML(用的比較少)
$.ajax方法
$.get方法
$.post方法
$.ajax請求
$.get和$.post請求
$.getJSON請求
$.ajax({ url : "ajaxServlet", // 請求地址 error:function(){ // 請求失敗回調 alert("請求失敗"); }, success:function(data){ // 請求成功回調 alert( data ); }, type:"POST", // 請求的方式 dataType:"json", // 返回的數(shù)據(jù)類型為json對象 data:{ // 請求的參數(shù) action:"jqueryAjax", a:12, date: new Date() } });
JSON是JavaScript Object Notation 的縮寫,是JS提供的一種輕量級的數(shù)據(jù)交換格式, 易于人閱讀和編寫。同時也易于機器解析和生成。
JSON對象本質上就是一個JS對象,但是這個對象比較特殊,它可以直接轉換為字符串,在不同語言中進行傳遞,通過工具又可以轉換為其他語言中的對象。
在標準的json格式中,json對象由大括號括起來,對象中的屬性也就是json的key是一個字符串,所以一定要使用雙引號引起來。每組key之間使用逗號進行分隔。
JSON 6種數(shù)據(jù)類型
數(shù)字
布爾值
null值
對象
例子:{“name”:”sunwukong”, ”age”:18}
數(shù)組
key就是對象的屬性。我們要訪問一個對象的屬性,只需要使用【對象名.屬性名】的方式訪問即可。
JSON對象和字符串對象的互轉
Gson 提供了用來在 Java 對象和 JSON 數(shù)據(jù)之間進行映射的 Java 類庫,可以將一個 JSON 字符串轉成一個 Java 對象,或者反過來。
java對象list集合和json的轉換
// json操作,一定要先new一個gson對象。Gson gson = new Gson();// 1、把對象轉成為json字符串String personjson = gson.toJson(person);// 把json字符串轉換成為java對象Person p = gson.fromJson(personjson, Person.class); //2、java對象list集合和json的轉換String jsonListString = gson.toJson(list);// 把json數(shù)組轉換成為List對象List<Person> ps = gson.fromJson(jsonListString, new PersonType().getType());// 3、map對象和json的轉換String jsonMapString = gson.toJson(mapPerson);// 通過使用匿名內部類的方式Map<String, Person> map = gson.fromJson(jsonMapString,new TypeToken<HashMap<String, Person>>() {}.getType());
聯(lián)系客服