更新時間:2022-03-14 10:02:52 來源:動力節點 瀏覽1468次
ajax即異步JavaScript和XML(Asynchronous JavaScript and XML)。
簡短地說,在不重載整個網頁的情況下,AJAX通過后臺加載數據,并在網頁上進行顯示。
使用AJAX的應用程序案例:谷歌地圖、騰訊微博、優酷視頻、人人網等等。
通過 jQuery AJAX 方法,您能夠使用 HTTP Get 和 HTTP Post 從遠程服務器上請求文本、HTML、XML 或 JSON 同時您能夠把這些外部數據直接載入網頁的被選元素中。
前面已經提過ajax的方法,這節主要記錄針對ajax返回的數據處理方式。
由于服務端返回數據格式為html,因此并不需要特殊處理就可以直接加載到我們的主頁面中。
$(function(){
$("#get").click(function(){
$.get("index.php",{username:$("#user").val(),
password:$("#password").val()},
function(data,textStatus){
$("#get").html(data)
})
})
})
xml格式的數據需要經過處理,鑒于jquery強大的dom處理能力,處理xml文檔也可以使用常規的attr(),find(),filter()以及其他方法。
<?xml version="1.0" encoding="UTF-8"?>
<stulist>
<student email="1@1.com">
<name>zhangsan</name>
<id>1</id>
</student>
<student email="2@2.com">
<name>lisi</name>
<id>2</id>
</student>
</stulist>
$.ajax({
url:'ajax.asp',
type: 'GET',
dataType: 'xml',//這里可以不寫,但千萬別寫text或者html!!!
timeout: 1000,
error: function(xml){
alert('Error loading XML document'+xml);
},
success: function(xml){
$(xml).find("student").each(function(i){
var id=$(this).children("id"); //取對象
var idvalue=$(this).children("id").text(); //取文本
alert(id_value);//這里就是ID的值了。
alert($(this).attr("email")); //這里能顯示student下的email屬性。
//最后么輸出了,這個是cssrain的寫法,貌似比macnie更JQ一點
$('<li></li>')
.html(id_value)
.appendTo('ol');
});
}
});
json數據是一種經型的實時數據交互的數據存儲方法,JSON 是存儲和交換文本信息的語法。類似 XML。JSON 比 XML 更小、更快,更易解析。
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
可以這樣訪問:
(1)如果為字符串格式:
如var arr = '{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}}';//u71d5u5b50這個是php中自動轉換的
var dataObj = eval("("+arr+")");//只能死記硬背
$.each(dataObj,function(idx,item){
//輸出
alert(item.id+"哈哈"+item.name);
})
(2)如果為對象格式
var arr = {"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}};
$.each(arr,function(idx,item){
//輸出
alert(item.id+"哈哈"+item.name);
})
應用實例:
$(document).ready(function(){
$('#button').click(function(){
$.ajax({
type:"GET",
url:"music.txt",
dataType:"json",
success:function(data){
var music="<ul>";
//i表示在data中的索引位置,n表示包含的信息的對象
$.each(data,function(i,n){
//獲取對象中屬性為optionsValue的值
music+="<li>"+n["optionValue"]+"</li>";
});
music+="</ul>";
$('#result').append(music);
}
});
return false;
});
});
通過上述介紹相信大家對Ajax返回數據的解析已經有所了解,大家如果想了解更多相關知識,可以關注一下動力節點的AJAX教程,里面的內容更加詳細豐富,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習