分針網—每日分享:ajax提交表單
阿新 • • 發佈:2017-05-18
print win -c 找不到 用戶 post請求 its -o block
ajax提交表單在項目中常用,前臺無論是簡單的html、jsp或者是使用了easyui框架,提交表單都會使用到ajax,extjs框架其實也是使用了ajax只不過對其進行了封裝了,我們使用的時候就更固定了些。
總的來說ajax提交表單可以分為兩種,一種是無返回結果的,就是將表單數據提交給後臺,後臺處理完就完了;另一種就是有返回結果的,後臺執行成功或失敗的信息需要返回到前臺。
1. 無返回結果的
最簡單的就是$("#formid").submit();直接將form表單提交到後臺。
2. 有返回結果的
這種方式是使用最多的一種,因為程序的執行成功與否都需要給用戶提示,程序一般也都是多步完成的,執行完插入操作,需要發起流程,這就需要在界面上判斷成功與否。
ajax本身屬於有返回結果的一類,其中的success方法就是處理後臺返回結果的。
ajax提交表單有返回結果的有兩種實現方式:
1)將form表單數據序列化
[html] view plain copy print?
<span style="font-size:18px;">
$.ajax({
type: "POST",
url: your - url,
data: $(‘#yourformid‘).serialize(),
async: false,
error: function (request) {
alert("Connection error");
},
success: function (data) {
//接收後臺返回的結果
}
});
</span>
這種方式需要註意的是form表單中的項一定要有name屬性,後臺獲取的鍵值對為key=name值,value=各項值,註意無論是input標簽還是span或者是其他標簽,一定要有name屬性,沒有name屬性後臺是獲取不到該項的
2)通過窗口查找form提交
[html] view plain copy print?
<span style="font-size:18px;"> // 提交表單
var obj = document.getElementById("xx_iframe").contentWindow;
obj.$("#yourform").form("submit",{
success :function(data){
//對結果處理
}
});
</span>
我使用easyui dialog對話框插入信息時使用過這種提交方式,因為在當前界面上彈出對話框,然後在對話框上的按鈕觸發對話框中表單提交,對話框又是鏈接的另外的html頁面,如此通過$("#formid")的方式是找不到對話框中的form的,因此這種情況下只能使用這種方式提交表單。
另外ajax中封裝的get,post請求也都屬於有返回結果的一類。
現在遇到的例子也就這些,以後遇到新形式的再補充上來。
鏈接:http://www.f-z.cn/id/161
學習更多IT知識 加群:272292492
分針網—每日分享:ajax提交表單