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? ? ? ? 返回的結果將放到這個target下
url? ? ? ? ? 如果定義了,將覆蓋原form的action
type? ? ? ? ? get和post兩種方式
dataType? ? ? 返回的數據類型,可選:json、xml、script
clearForm? ? true,表示成功提交后清除所有表單字段值
resetForm? ? true,表示成功提交后重置所有字段
iframe? ? ? ? 如果設置,表示將使用iframe方式提交表單
beforeSerialize? ? 數據序列化前: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請求時,沒有返回前會出現一個轉動的loading小圖標或者內容加載中。。,用來告知用戶正在請求參數。
async:類型Boolean,默認值true,表示請求均為異步請求,如果需要發送同步請求,就將此選項設為false。
complete:類型function,請求完成后的回調函數,成功與失敗都會調用此函數。
content:類型Object,用于設置ajax相關回調函數的上下文。(如果不設定這個參數,那么 this 就指向調用本次 AJAX 請求時傳遞的 options 參數)。比如指定一個 DOM 元素作為 context 參數,這樣就設置了 success 回調函數的上下文為這個 DOM 元素。
例如:
$.ajax({ url: "test.html", context: document.body, success: function(){
$(this).addClass("done");
}});
dataFilter:類型function,在請求成功這個后調用。傳入的數據以及“dataType”參數的值。并且返回新的數據傳遞給success回調函數。