日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Jquery ajax提交表单几种方法详解

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jquery ajax提交表单几种方法详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[導(dǎo)讀]?在jquery中ajax提交表單有post與get方式,在使用get方式時(shí)我們可以直接使用ajax 序列化表單$( 表單ID) serialize();就行了,下面我來(lái)介紹兩個(gè)提交表單數(shù)據(jù)的方法。$get方式提交表單get() 方法通過(guò)遠(yuǎn)程 HTTP

在jquery中ajax提交表單有post與get方式,在使用get方式時(shí)我們可以直接使用ajax 序列化表單$('#表單ID').serialize();就行了,下面我來(lái)介紹兩個(gè)提交表單數(shù)據(jù)的方法。

$get方式提交表單

get() 方法通過(guò)遠(yuǎn)程 HTTP GET 請(qǐng)求載入信息

格式

$(selector).get(url,data,success(response,status,xhr),dataType)

請(qǐng)求 test.php 網(wǎng)頁(yè),傳送2個(gè)參數(shù),忽略返回值:

$.get("test.php", { name: "John", time: "2pm" } );

顯示 test.php 返回值(HTML 或 XML,取決于返回值):

?代碼如下復(fù)制代碼

$.get("test.php", function(data){
? alert("Data Loaded: " + data);
});


ajax 序列化表單

$.Form.serialize( NameValuePair )

虛擬一個(gè)表單,并設(shè)置表單控件名與值。

參數(shù)
NameValuePair

必選項(xiàng)。設(shè)置虛擬的表單控件。該參數(shù)形式為:{ name1=value, name2=value2, ......}
返回值

虛擬表單序列化后的字符串,其格式如:username=%E5%95%8A%E8%94%A1&password=123456

?代碼如下復(fù)制代碼

<form>?
<div><inputtype="text"name="a"value="1"id="a"/></div>?
<div><inputtype="text"name="b"value="2"id="b"/></div>?
<div><inputtype="hidden"name="c"value="3"id="c"/></div>?
<div>?
<textareaname="d"rows="8"cols="40">4</textarea>?
</div>?
<div><selectname="e">?
<optionvalue="5"selected="selected">5</option>?
<optionvalue="6">6</option>?
<optionvalue="7">7</option>?
</select></div>?
<div>?
<inputtype="checkbox"name="f"value="8"id="f"/>?
</div>?
<div>?
<inputtype="submit"name="g"value="Submit"id="g"/>?
</div>?
</form>?
.serialize() 方法可以操作已選取個(gè)別表單元素的 jQuery 對(duì)象,比如 <input>, <textarea> 以及 <select>。不過(guò)源碼天空,選擇 <form> 標(biāo)簽本身進(jìn)行序列化一般更容易些:?
$('form').submit(function(){?
alert($(this).serialize());?
returnfalse;?
});

輸出標(biāo)準(zhǔn)的查詢字符串:

a=1&b;=2&c;=3&d;=4&e;=5


$POST方式提交表單

$.post

jQuery.post( url, [data], [callback], [type] ) :使用POST方式來(lái)進(jìn)行異步請(qǐng)求


參數(shù):

url (String) : 發(fā)送請(qǐng)求的URL地址.

data (Map) : (可選) 要發(fā)送給服務(wù)器的數(shù)據(jù),以 Key/value 的鍵值對(duì)形式表示。

callback (Function) : (可選) 載入成功時(shí)回調(diào)函數(shù)(只有當(dāng)Response的返回狀態(tài)是success才是調(diào)用該方法)。

?代碼如下復(fù)制代碼

$.post("momsg.php",{"tel":$("#username").val()},function(data){
????
if(data==0)//0? 成功? 1? 不成功? 2 手機(jī)號(hào)碼格式不對(duì)
??? {?????
???? //????
??? }????
????
});

通過(guò) AJAX POST 請(qǐng)求改變 div 元素的文本:

?代碼如下復(fù)制代碼

$("input").keyup(function(){
? txt=$("input").val();
? $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){
??? $("span").html(result);
? });
});

實(shí)例

?代碼如下復(fù)制代碼

<script type="text/javascript">
function adddata()
??? {
???? var typeName=$("#<%=this.typeName.ClientID%>").val();
???? var msg=" not be empty";
???? if(typeName=="")
???? {
??????? if(msg!="")
????????? {
??????????? alert(msg);
??????????? return false;
????????? }
???? }
???? else
???? {
???????? //顯示進(jìn)度條
???????? $("#loading").ajaxStart(function(){
???????? $(this).show();
???????? });

???????? //提交前觸發(fā)的事件
???????? $("#msg").ajaxSend(function(request, settings){$(this).append("<li>Starting request at " + settings.url + "</li>");});

????????? //這里的countryid 可以動(dòng)態(tài)從GridView里面取
????????? var countryid= $("#<%=this.drpCountry.ClientID%>").val();//獲取下拉菜單值
????????? var countryname=format_get_name(countryid);//獲取下拉菜單文本
????????? var typeName = $("#<%=this.typeName.ClientID%>").val();//獲取txt為typeName的值
????????? var showTypeDesc = $("#<%=this.showTypeDesc.ClientID%>").val();//獲取txt為showTypeDesc的值

?????????? //調(diào)用Juqery Ajax
?????????? $.ajax({
?????????? type: "POST",
?????????? url: "addNews.aspx",
?????????? timeout: 20000,
?????????? error: function(){alert('error');},
?????????? data: "countryid="+countryid+"&countryname="+countryname+"&typeName="+typeName+"&showTypeDesc="+showTypeDesc,
?????????? success: function(msg)
?????????? {

?????????? var text=msg.split('<');
?????????? //當(dāng)AJAX請(qǐng)求失敗時(shí)添加一個(gè)被執(zhí)行的方法
?????????? $("#msg").ajaxError(function(request, settings){
?????????? $(this).append("<li>Error requesting page " + settings.url + "</li>");
?????????? });

??????????? //當(dāng)AJAX請(qǐng)求成功時(shí)添加一個(gè)被執(zhí)行的方法
?????????? $("#msg").ajaxSuccess(function(request, settings){
?????????? $(this).append(text[0]);
?????????? });

????????? //清空文本里面的值
?????????? $("#<%=this.typeName.ClientID%>").val("");
?????????? $("#<%=this.showTypeDesc.ClientID%>").val("");
?????????? return false;
?????????? }
?????????? });
????? }
?? }

??? //獲取下拉菜單里面的文本內(nèi)容
??? function format_get_name(id)
??? {
??????? var drp = $('<%=drpCountry.ClientID%>');
??????? for ( var i =0;i<drp.options.length;i++)
??????? {
??????????? if ( drp.options[i].value == id )
??????????? {
??????????????? return drp.options[i].text;
??????????? }
??????? }
??????? return '';
??? }
</script>

轉(zhuǎn)載于:https://www.cnblogs.com/yadongliang/p/5342778.html

總結(jié)

以上是生活随笔為你收集整理的Jquery ajax提交表单几种方法详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。