国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

淺析jQuery Ajax請求參數(shù)和返回?cái)?shù)據(jù)的處理

2024-09-01 08:33:42
字體:
供稿:網(wǎng)友
這篇文章主要介紹了淺析jQuery Ajax請求參數(shù)和返回?cái)?shù)據(jù)的處理的相關(guān)資料,需要的朋友可以參考下
 

剛接觸學(xué)會(huì)用jQuery ajax的時(shí)候,覺得真東西好神奇,這樣就可以把數(shù)據(jù)取回來了啊。然后我可以把取回來的數(shù)據(jù)渲染到頁面上,一顆賽艇。

之前很早接觸到項(xiàng)目,并不知道怎么優(yōu)雅的去用jquery ajax(現(xiàn)在也不優(yōu)雅);

那個(gè)時(shí)候看別人寫的代碼

$.post("","",...)

也有

$.get("","",...)

還有

$.ajax()

當(dāng)然現(xiàn)在知道點(diǎn),這些寫法都是一個(gè)意思,還是習(xí)慣用 $.ajax() 寫寫吧。

之前的數(shù)據(jù)處理,發(fā)送數(shù)據(jù)請求(json的數(shù)據(jù)格式),然后自己通過下面的方式

var request = {};request.name = $(".name").val();request.age = $(".age").val();request.sex = $(".sex").val();//...

當(dāng)時(shí)表單發(fā)送的參數(shù)項(xiàng)少,所以沒覺得什么,到后來一個(gè)表單很多項(xiàng)數(shù),也這么寫,結(jié)果 request 就手工寫了好多行,雖然能用吧,但是看看這樣的代碼就覺著哪里不對勁吧,至少很不“優(yōu)雅”。

后來,發(fā)現(xiàn)其實(shí)jquery有個(gè) serialize 的方法可以序列化表單數(shù)據(jù),可以省事很多。

w3c_jquery_serialize-demo

處理返回?cái)?shù)據(jù),渲染到頁面上去。

之前的做法也是和上面一模一樣的吧,返回的數(shù)據(jù)是json數(shù)據(jù)格式的,然后分別取值賦值給頁面元素,所以代碼往往是這樣的。

  淺析jQuery Ajax請求參數(shù)和返回?cái)?shù)據(jù)的處理

如果數(shù)據(jù)再多點(diǎn),真的是感覺略難看。其實(shí)應(yīng)該是有更好的做法的,返回的是一個(gè)json對象,所以我們可以通過遍歷對象的屬性值取到所有值然后依次渲染到頁面對應(yīng)元素即可。

對象遍歷可以用 for-in 來寫(有更好的方法來寫么?)

$.ajax({//...success:function(result){for(var v in result){// 如果渲染的元素都是統(tǒng)一的輸入框形式的話,$("form").find("input[name="+ v +"]").val(result[v]); // 如果有其他元素 則另外單獨(dú)校驗(yàn)處理}}})

上面name(或者其他tag在頁面中先寫好,和返回?cái)?shù)據(jù)的屬性一致)。

jQuery中ajax的4種常用請求方式

1.$.ajax()返回其創(chuàng)建的 XMLHttpRequest 對象。

$.ajax() 只有一個(gè)參數(shù):參數(shù) key/value 對象,包含各配置及回調(diào)函數(shù)信息。詳細(xì)參數(shù)選項(xiàng)見下。

如果你指定了 dataType 選項(xià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.通過遠(yuǎn)程 HTTP GET 請求載入信息。

這是一個(gè)簡單的 GET 請求功能以取代復(fù)雜 $.ajax 。請求成功時(shí)可調(diào)用回調(diào)函數(shù)。如果需要在出錯(cuò)時(shí)執(zhí)行函數(shù),請使用 $.ajax。

實(shí)例:

$.get("test.cgi", { name: "John", time: "2pm" },function(data){alert("Data Loaded: " + data);}); 

3. 通過遠(yuǎn)程 HTTP POST 請求載入信息。

這是一個(gè)簡單的 POST 請求功能以取代復(fù)雜 $.ajax 。請求成功時(shí)可調(diào)用回調(diào)函數(shù)。如果需要在出錯(cuò)時(shí)執(zhí)行函數(shù),請使用 $.ajax。

實(shí)例:

$.post("/Resources/addfriend.ashx", { "fid": fids, "fname": fnames, "tuid": tuids, "tuname": tunames }, function (data) {if (data == "ok") {alert("添加成功!");}})

4.通過 HTTP GET 請求載入 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請求參數(shù)和返回?cái)?shù)據(jù)的處理,希望對大家有所幫助!



注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汤阴县| 尚义县| 绥化市| 安宁市| 曲沃县| 甘肃省| 佳木斯市| 宜良县| 崇文区| 连云港市| 龙井市| 白沙| 平遥县| 青阳县| 西峡县| 南通市| 东乌珠穆沁旗| 南江县| 丁青县| 岗巴县| 凌云县| 屏南县| 鸡西市| 孝义市| 滨海县| 汉中市| 阳高县| 湖南省| 东莞市| 泸州市| 清镇市| 蓬溪县| 慈利县| 盈江县| 红河县| 宾阳县| 年辖:市辖区| 三穗县| 保亭| 扎赉特旗| 泽普县|