成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? 淺析jQuery Ajax請求參數和返回數據的處理
全站頭部文字 我要出現在這里
淺析jQuery Ajax請求參數和返回數據的處理 641 2024-03-11   

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

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

那個時候看別人寫的代碼

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

也有

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

還有

$.ajax()

當然現在知道點,這些寫法都是一個意思,還是習慣用 $.ajax() 寫寫吧。

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

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

當時表單發送的參數項少,所以沒覺得什么,到后來一個表單很多項數,也這么寫,結果 request 就手工寫了好多行,雖然能用吧,但是看看這樣的代碼就覺著哪里不對勁吧,至少很不“優雅”。

后來,發現其實jquery有個 serialize 的方法可以序列化表單數據,可以省事很多。

w3c_jquery_serialize-demo

處理返回數據,渲染到頁面上去。

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

查看圖片

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

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

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

上面name(或者其他tag在頁面中先寫好,和返回數據的屬性一致)。

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

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

$.ajax() 只有一個參數:參數 key/value 對象,包含各配置及回調函數信息。詳細參數選項見下。

如果你指定了 dataType 選項,請確保服務器返回正確的 MIME 信息,(如 xml 返回 "text/xml")。

實例:

保存數據到服務器,成功時顯示信息。

$.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.通過遠程 HTTP GET 請求載入信息。

這是一個簡單的 GET 請求功能以取代復雜 $.ajax 。請求成功時可調用回調函數。如果需要在出錯時執行函數,請使用 $.ajax。

實例:

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

3. 通過遠程 HTTP POST 請求載入信息。

這是一個簡單的 POST 請求功能以取代復雜 $.ajax 。請求成功時可調用回調函數。如果需要在出錯時執行函數,請使用 $.ajax。

實例:

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

4.通過 HTTP GET 請求載入 JSON 數據。

實例:

$.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;
});
}); 

以上內容是小編給大家介紹的jQuery Ajax請求參數和返回數據的處理,希望對大家有所幫助!



主站蜘蛛池模板: 天元突破| 开创盛世电视剧全集免费观看| 念念相忘电影免费观看| 保镖1993在线观看| 太医派的开胃汤配方| 黄色网址在线免费播放| 欠条怎么写才具有法律效力| 弟子规武术健身操| 南海长城 电影| 加入社团的个人简历怎么写| 高潮艺术| 双男动漫| 来自深渊第三季| 《军官夫人》电影在线观看| 金鸳鸯| 单色美甲图片| 秀人网周妍希| 疯狗强尼电影完整版在线观看| 白血公主| 好茶叶排名前十名| 欧美一级毛片免费看| 精灵使的剑舞无删减版在线观看| 05s502图集| kaori全部av作品大全| 美丽的坏女人中文字幕| cgtn英语频道在线直播观看 | 尹雪喜作品| 科室对分级护理落实情况检查记录| 黄视频在线播放| 女生宿舍2在线看| 超越演员表| 烽火流金电视剧| 廖君| 延禧| 原来琪琪电影| 三年片在线观看电影在线观看大全| 婚前协议电视剧演员表| 林丹出轨视频| 小妹电影| 服务质量模型| 一个蛋挞的热量|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103