亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery.Ajax()的data參數類型詳解

2019-11-19 16:00:52
字體:
來源:轉載
供稿:網友

假如現在有這樣一個表單,是添加元素用的。

<form id='addForm' action='UserAdd.action' type='post'>   <label for='uname'>用戶名</label>:<input type='text' name='uname' id='uname'><br>   <label for='mobileIpt'>手機號:</label><input type='text' name='mobileIpt' id='mobileIpt'><br>   <label for='birthday'>生日:</label><input type='text' name='birthday'><br>   <input type='button' value='提交' onclick='addUser()'></form>

我們不想使用表單submit的方式添加這個元素,我們就想使用ajax提交。

以前我們是這樣實現的:

function addUser(){    var user = {      uname:$("#uname").val(),      mobileIpt:$("#mobileIpt").val(),      birthday:$("#birthday").val()    };    $.ajax({      url:'UserAdd.action',      data:user,      type:'post',      dataType:'text',      success:function(msg){        if(msg=='1'){          console.log('添加成功');        }else{          console.log('添加失敗')        }      }           })  } 

這沒有什么錯,就是獲取表單元素的值實在是太麻煩....這里只有三項,很多項的時候就廢了....

直到有一天,我發現了jquery的serializeArray方法

序列化表格元素 (類似 '.serialize()' 方法) 返回 JSON 數據結構數據。

注意,此方法返回的是JSON對象而非JSON字符串。需要使用插件或者第三方庫進行字符串化操作。

返回的JSON對象是由一個對象數組組成的,其中每個對象包含一個或兩個名值對――name參數和value參數(如果value不為空的話)。

我們來試試看

$('#addForm').serializeArray();//返回數據結構,是json數組,每個對像分別name和value為key,代表這個表單元素的name和value[  {"name":"uname","value":""},  {"name":"mobileIpt","value":""},    {"name":"birthday","value":""}]

這個貌似用不上啊

我們使用JQuery.param()方法處理一下:

var arr = $('#addForm').serializeArray();$.param(arr);"uname=alice&mobileIpt=110&birthday=1983-05-12"

嘿這下符合我們的需求了吧,雖然不是json類型,但是至少可以作為data上傳了。

這里我們可以直接在ajax的data處填上這個json數組,在jquery內部自己調用$.param()處理的。

我們來看下jquery.param()方法的說明:

返回值:StringjQuery.param(obj,[traditional])

將表單元素數組或者對象序列化。

參數

obj,[traditional]

數組或jQuery對象會按照name/value對進行序列化,普通對象按照key/value對進行序列化。

traditional:是否使用傳統的方式淺層序列化。

demo:

$.param({uanme:'vic',mobileIpt:'110',birthday:'2013-11-11'});"uanme=vic&mobileIpt=110&birthday=2013-11-11"

看著說明,貌似也跟我們沒關系啊,我們換一個json數組來看

$.param([{uanme:'vic'},{mobileIpt:'110'},{birthday:'2013-11-11'}]);"undefined=&undefined=&undefined="

這個轉換不成功了吧,為什么我們表單的那種數據能夠成功轉換成url參數呢?我們來看下jquery源碼

//在ajax()方法中,對json類型的數據進行了$.param()處理if ( s.data && s.processData && typeof s.data !== "string" ) {  s.data = jQuery.param( s.data, s.traditional );}//param方法中if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {    // Serialize the form elements    jQuery.each( a, function() {      add( this.name, this.value );    });  } else {    // If traditional, encode the "old" way (the way 1.3.2 or older    // did it), otherwise encode params recursively.    for ( prefix in a ) {      buildParams( prefix, a[ prefix ], traditional, add );    }  }

這下明白了吧,如果是json數據,那么挨個循環,只取他們的name屬性和value屬性拼接字符串。

如果是普通對象,循環該對象的屬性,然后拼接字符串。

總結:

所以,本文要說的是,在jquery的ajax函數中,可以傳入3種類型的數據

1.文本:

"uname=alice&mobileIpt=110&birthday=1983-05-12"

2.json對象:

{uanme:'vic',mobileIpt:'110',birthday:'2013-11-11'}

3.json數組:

[  {"name":"uname","value":"alice"},  {"name":"mobileIpt","value":"110"},    {"name":"birthday","value":"2012-11-11"}]

所以,我們可以一鍵獲取表單并提交,非常方便。補充:其實提取表單數據的話只需要serialize()方法直接獲取"uname=alice&mobileIpt=110&birthday=1983-05-12"這樣的就可以了。

以上所述是小編給大家介紹的jQuery.Ajax()的data參數類型詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品极品美女粉嫩高清在线| 69久久夜色精品国产69乱青草| 欧美激情精品久久久久久蜜臀| 中文字幕亚洲一区二区三区五十路| 久久精品国产一区二区电影| 亚洲高清一区二| 91精品国产综合久久香蕉| 成人精品一区二区三区| 亚洲国产精品免费| 久久国产精品首页| 日韩网站免费观看高清| 国产精品久久久久久久av大片| 欧美黑人巨大精品一区二区| 欧美成人午夜激情视频| 深夜福利一区二区| 欧美国产第一页| 国产精品男人爽免费视频1| 亚洲97在线观看| 国产精品99久久久久久白浆小说| 久久久精品国产一区二区| 伊人男人综合视频网| 日韩亚洲综合在线| 神马国产精品影院av| 欧美性69xxxx肥| 精品中文字幕久久久久久| 久久综合免费视频影院| 91在线观看免费高清完整版在线观看| 亚洲自拍中文字幕| 精品国产一区二区三区久久久狼| 亚洲天堂男人天堂| 在线丨暗呦小u女国产精品| 在线成人中文字幕| 俺去了亚洲欧美日韩| 播播国产欧美激情| 亚洲欧洲国产一区| 久久久久久久久网站| 91九色视频导航| 国产做受69高潮| 538国产精品视频一区二区| 2019中文字幕在线免费观看| 亚洲国模精品私拍| 亚洲国模精品一区| 精品视频一区在线视频| 91热福利电影| 一区二区三区无码高清视频| 国产精自产拍久久久久久| 国产成人极品视频| 欧美在线免费观看| 中文字幕日韩在线播放| 国产精品永久免费观看| 97在线免费视频| 亚洲精品福利在线| 日韩精品视频在线| 欧美视频免费在线| 国产精品视频一区二区高潮| 国产精品欧美日韩| 黄色成人av在线| 久久男人av资源网站| 成人春色激情网| 久久综合亚洲社区| 亚洲欧美www| 91国内揄拍国内精品对白| 九九九热精品免费视频观看网站| 91九色国产在线| 亚洲香蕉伊综合在人在线视看| 成人免费福利视频| 国产一区深夜福利| 欧美日韩在线视频一区二区| 一个人看的www久久| 国产精自产拍久久久久久| 亚洲精品福利在线| 在线亚洲国产精品网| 久久久久久久激情视频| 日韩欧美在线视频日韩欧美在线视频| 亚洲国产欧美自拍| www.美女亚洲精品| 日韩成人在线视频| 亚洲国产精品中文| 精品无人国产偷自产在线| 久久精品国产久精国产一老狼| 久久精品一区中文字幕| 欧美一级片久久久久久久| 成人精品视频99在线观看免费| 亚洲白虎美女被爆操| 亚州欧美日韩中文视频| 亚洲乱码国产乱码精品精天堂| 少妇激情综合网| 91人人爽人人爽人人精88v| 日本欧美国产在线| 国产欧美va欧美va香蕉在| 久久精品国产欧美亚洲人人爽| 精品成人在线视频| 日韩精品在线视频美女| 亚洲男人的天堂在线| 九九九久久久久久| 国产精品中文字幕久久久| 亚洲国产精品久久| 日本精品视频在线播放| 成人福利免费观看| 日韩黄色高清视频| 欧美丰满片xxx777| 色99之美女主播在线视频| 精品福利樱桃av导航| 91精品国产乱码久久久久久蜜臀| 日本精品视频网站| 91网站在线免费观看| 97视频在线观看视频免费视频| 国语自产精品视频在免费| 日韩精品视频中文在线观看| 91精品久久久久久久久久久| 亚洲欧美一区二区激情| 亚洲成**性毛茸茸| 日韩暖暖在线视频| 国产精品久久久久久久久久尿| 黑人巨大精品欧美一区二区三区| 亚洲欧美一区二区三区久久| 97在线观看视频国产| 亚洲色图欧美制服丝袜另类第一页| 欧日韩不卡在线视频| 国产盗摄xxxx视频xxx69| 欧美性xxxx18| 久久久久久久久久久网站| 久久99久国产精品黄毛片入口| 国产精品久久久久秋霞鲁丝| 人体精品一二三区| 成人av色在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 最新国产精品拍自在线播放| 国产精品欧美一区二区三区奶水| 欧美特级www| 色无极亚洲影院| 欧洲亚洲在线视频| 欧美色欧美亚洲高清在线视频| 中文字幕9999| 国产精品女主播视频| 日韩精品999| 欧美国产日韩视频| 国产69久久精品成人| 亚洲国产精品电影| 高清在线视频日韩欧美| 91爱视频在线| 国产亚洲激情在线| 成人免费看片视频| 57pao成人国产永久免费| 97国产一区二区精品久久呦| 精品久久久一区二区| 久久亚洲综合国产精品99麻豆精品福利| 国产一区二区三区在线观看网站| 久久av.com| 久久久免费高清电视剧观看| 久久亚洲精品毛片| 成人有码在线视频| 中文字幕最新精品| 久久国产精品久久久| 国产精品久久久久久久久久久久久久| 精品成人av一区| 日韩精品视频免费在线观看| 国产又爽又黄的激情精品视频| 亚洲一品av免费观看| 中文字幕亚洲无线码在线一区| 国精产品一区一区三区有限在线| 精品国产一区二区三区久久久狼| 国产精品日韩在线一区| 国产日韩欧美电影在线观看|