淺析jQuery Ajax請(qǐng)求參數(shù)和返回?cái)?shù)據(jù)的處理
剛接觸學(xué)會(huì)用jQuery ajax的時(shí)候,覺(jué)得真東西好神奇,這樣就可以把數(shù)據(jù)取回來(lái)了啊。然后我可以把取回來(lái)的數(shù)據(jù)渲染到頁(yè)面上,一顆賽艇。
之前很早接觸到項(xiàng)目,并不知道怎么優(yōu)雅的去用jquery ajax(現(xiàn)在也不優(yōu)雅);
那個(gè)時(shí)候看別人寫(xiě)的代碼
有
$.post("","",...)
也有
$.get("","",...)
還有
$.ajax()
當(dāng)然現(xiàn)在知道點(diǎn),這些寫(xiě)法都是一個(gè)意思,還是習(xí)慣用 $.ajax() 寫(xiě)寫(xiě)吧。
之前的數(shù)據(jù)處理,發(fā)送數(shù)據(jù)請(qǐng)求(json的數(shù)據(jù)格式),然后自己通過(guò)下面的方式
var request = {};
request.name = $(".name").val();
request.age = $(".age").val();
request.sex = $(".sex").val();
//...
當(dāng)時(shí)表單發(fā)送的參數(shù)項(xiàng)少,所以沒(méi)覺(jué)得什么,到后來(lái)一個(gè)表單很多項(xiàng)數(shù),也這么寫(xiě),結(jié)果 request 就手工寫(xiě)了好多行,雖然能用吧,但是看看這樣的代碼就覺(jué)著哪里不對(duì)勁吧,至少很不“優(yōu)雅”。
后來(lái),發(fā)現(xiàn)其實(shí)jquery有個(gè) serialize 的方法可以序列化表單數(shù)據(jù),可以省事很多。
處理返回?cái)?shù)據(jù),渲染到頁(yè)面上去。
之前的做法也是和上面一模一樣的吧,返回的數(shù)據(jù)是json數(shù)據(jù)格式的,然后分別取值賦值給頁(yè)面元素,所以代碼往往是這樣的。

如果數(shù)據(jù)再多點(diǎn),真的是感覺(jué)略難看。其實(shí)應(yīng)該是有更好的做法的,返回的是一個(gè)json對(duì)象,所以我們可以通過(guò)遍歷對(duì)象的屬性值取到所有值然后依次渲染到頁(yè)面對(duì)應(yīng)元素即可。
對(duì)象遍歷可以用 for-in 來(lái)寫(xiě)(有更好的方法來(lái)寫(xiě)么?)
$.ajax({
//...
success:function(result){
for(var v in result){
// 如果渲染的元素都是統(tǒng)一的輸入框形式的話,
$("form").find("input[name="+ v +"]").val(result[v]);
// 如果有其他元素 則另外單獨(dú)校驗(yàn)處理
}
}
})
上面name(或者其他tag在頁(yè)面中先寫(xiě)好,和返回?cái)?shù)據(jù)的屬性一致)。
jQuery中ajax的4種常用請(qǐng)求方式
1.$.ajax()返回其創(chuàng)建的 XMLHttpRequest 對(duì)象。
$.ajax() 只有一個(gè)參數(shù):參數(shù) key/value 對(duì)象,包含各配置及回調(diào)函數(shù)信息。詳細(xì)參數(shù)選項(xiàng)見(jiàn)下。
如果你指定了 dataType 選項(xiàng),請(qǐng)確保服務(wù)器返回正確的 MIME 信息,(如 xml 返回 "text/xml")。
實(shí)例:
保存數(shù)據(jù)到服務(wù)器,成功時(shí)顯示信息。
$.ajax({
type: "post",
dataType: "html",
url: '/Resources/GetList.ashx',
data: dataurl,
success: function (data) {
if (data != "") {
$("#pager").pager({ pagenumber: pagenumber, pagecount: data.split("$$")[1], buttonClickCallback: PageClick });
$("#anhtml").html(data.split("$$")[0]);
}
}
});
2.通過(guò)遠(yuǎn)程 HTTP GET 請(qǐng)求載入信息。
這是一個(gè)簡(jiǎn)單的 GET 請(qǐng)求功能以取代復(fù)雜 $.ajax 。請(qǐng)求成功時(shí)可調(diào)用回調(diào)函數(shù)。如果需要在出錯(cuò)時(shí)執(zhí)行函數(shù),請(qǐng)使用 $.ajax。
實(shí)例:
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
3. 通過(guò)遠(yuǎn)程 HTTP POST 請(qǐng)求載入信息。
這是一個(gè)簡(jiǎn)單的 POST 請(qǐng)求功能以取代復(fù)雜 $.ajax 。請(qǐng)求成功時(shí)可調(diào)用回調(diào)函數(shù)。如果需要在出錯(cuò)時(shí)執(zhí)行函數(shù),請(qǐng)使用 $.ajax。
實(shí)例:
$.post("/Resources/addfriend.ashx", { "fid": fids, "fname": fnames, "tuid": tuids, "tuname": tunames }, function (data) {
if (data == "ok") {
alert("添加成功!");
}
})
4.通過(guò) HTTP GET 請(qǐng)求載入 JSON 數(shù)據(jù)。
實(shí)例:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
以上內(nèi)容是小編給大家介紹的jQuery Ajax請(qǐng)求參數(shù)和返回?cái)?shù)據(jù)的處理,希望對(duì)大家有所幫助!
- jQuery+Ajax+js實(shí)現(xiàn)請(qǐng)求json格式數(shù)據(jù)并渲染到html頁(yè)面操作示例
- jQuery中ajax請(qǐng)求后臺(tái)返回json數(shù)據(jù)并渲染HTML的方法
- jquery 通過(guò)ajax請(qǐng)求獲取后臺(tái)數(shù)據(jù)顯示在表格上的方法
- jQuery Ajax請(qǐng)求后臺(tái)數(shù)據(jù)并在前臺(tái)接收
- JQUERY的AJAX請(qǐng)求緩存里的數(shù)據(jù)問(wèn)題處理
- jQuery使用ajax跨域請(qǐng)求獲取數(shù)據(jù)
- Jquery使用AJAX方法請(qǐng)求數(shù)據(jù)
相關(guān)文章
jquery刷新頁(yè)面的實(shí)現(xiàn)代碼(局部及全頁(yè)面刷新)
jquery刷新頁(yè)面的實(shí)現(xiàn)代碼(局部及全頁(yè)面刷新) ,需要的朋友可以參考下。2011-07-07
jQuery實(shí)現(xiàn)下拉框功能實(shí)例代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)下拉框功能實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-05-05
jquery實(shí)現(xiàn)郵箱自動(dòng)補(bǔ)全功能示例分享
這篇文章主要介紹了jquery實(shí)現(xiàn)郵箱自動(dòng)補(bǔ)全功能,大家參考使用吧2014-02-02
Jquery使用JQgrid組件處理json數(shù)據(jù)
這篇文章介紹了Jquery使用JQgrid組件處理json數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
jquery使整個(gè)div區(qū)域可以點(diǎn)擊的方法
這篇文章主要介紹了jquery使整個(gè)div區(qū)域可以點(diǎn)擊的方法,涉及jQuery操作頁(yè)面元素與鼠標(biāo)事件的技巧,需要的朋友可以參考下2015-06-06
jQuery操作復(fù)選框(CheckBox)的取值賦值實(shí)現(xiàn)代碼
這篇文章主要介紹了jQuery操作復(fù)選框(CheckBox)的取值賦值實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-01-01
jQuery實(shí)現(xiàn)漸變下拉菜單的簡(jiǎn)單方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)漸變下拉菜單的簡(jiǎn)單方法,涉及jQuery鏈?zhǔn)讲僮骷癱ss樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

