1.jquery.form.js
這是一個ajax表單插件,可以通過ajax的方式來提交form表單睛蛛。
它的核心方法是:ajaxForm()和ajaxSubmit()
使用方法:
var obj = {
beforeSubmit: ,
success: ,
}
$(selector).ajaxSubmit(obj);
//ajaxForm 配置完之后并不是馬上提交湿酸,而要等待一個submit()事件
$(selector).ajaxForm(obj).submit(function(){return false})
其中options的屬性陷虎,重要的解釋一下:
target? ? ? ? 返回的結(jié)果將放到這個target下
url? ? ? ? ? 如果定義了递胧,將覆蓋原form的action
type? ? ? ? ? get和post兩種方式
dataType? ? ? 返回的數(shù)據(jù)類型囚痴,可選:json募寨、xml族展、script
clearForm? ? true,表示成功提交后清除所有表單字段值
resetForm? ? true拔鹰,表示成功提交后重置所有字段
iframe? ? ? ? 如果設(shè)置仪缸,表示將使用iframe方式提交表單
beforeSerialize? ? 數(shù)據(jù)序列化前:function($form,options){}
beforeSubmit? 提交前:function(arr,$from,options){}
success? ? ? 提交成功后:function(data,statusText){}
error? ? ? ? 錯誤:function(data){alert(data.message);}
2.普通ajax就有的常用屬性,非form操作(除url,type列肢,dataType恰画,data,success瓷马,error之外的)
beforeSend:類型function拴还,如果返回false可以取消本次ajax請求。用法:一種常見的效果决采,再用ajax請求時自沧,沒有返回前會出現(xiàn)一個轉(zhuǎn)動的loading小圖標(biāo)或者內(nèi)容加載中。树瞭。拇厢,用來告知用戶正在請求參數(shù)。
async:類型Boolean晒喷,默認(rèn)值true孝偎,表示請求均為異步請求,如果需要發(fā)送同步請求凉敲,就將此選項設(shè)為false衣盾。
complete:類型function,請求完成后的回調(diào)函數(shù)寺旺,成功與失敗都會調(diào)用此函數(shù)。
content:類型Object势决,用于設(shè)置ajax相關(guān)回調(diào)函數(shù)的上下文阻塑。(如果不設(shè)定這個參數(shù),那么 this 就指向調(diào)用本次 AJAX 請求時傳遞的 options 參數(shù))果复。比如指定一個 DOM 元素作為 context 參數(shù)陈莽,這樣就設(shè)置了 success 回調(diào)函數(shù)的上下文為這個 DOM 元素。
例如:
$.ajax({ url: "test.html", context: document.body, success: function(){
$(this).addClass("done");
}});
dataFilter:類型function虽抄,在請求成功這個后調(diào)用走搁。傳入的數(shù)據(jù)以及“dataType”參數(shù)的值。并且返回新的數(shù)據(jù)傳遞給success回調(diào)函數(shù)迈窟。