1.ajaxSubmit 和ajaxForm区别
ajaxForm
ajaxForm()不能提交表单。在document的ready函数中,使用ajaxForm来为AJAX提交表单进行准备。提交动作必须由submit开始
ajaxForm()适用于以表单提交方式处理ajax技术(需要提供表单的action、id、 method,最好在表单中提供submit按钮)它大大简化了使用ajax技术提交表单时的数据传递问题,使用ajaxForm()你不需要逐个的以 JavaScript的方式获取每个表单属性的值,并且也不需要在请求路径后面通过url重写的方式传递数据。ajaxForm()会自动收集当前表单中每个属性的值,然后将其以表单提交的方式提交到目标url。这种方式提交数据较安全,并且使用起来更简单,不必写过多冗余的JavaScript代码
ajaxSubmit
ajaxSubmit()马上由AJAX来提交表单。你可以在任何情况下进行该项提交。
ajaxSubmit()适用于以事件的机制以ajax提交form表单(超链接、图片的click事件),该方法作用与ajaxForm()类似,但它更为灵活,因为他依赖于事件机制,只要有事件存在就能使用该方法。你只需指定该form的action属性即可,不需要提供submit按钮。
2.依赖的插件
<script type="text/javascript"
src="${pageContext.request.contextPath}/js/jquery.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/js/jquery.form.js"></script>
3.使用测试
<script type="text/javascript">
$(function() {
var option = {
url : '${pageContext.request.contextPath}/ajax/ajaxSubmit.do',
type : 'post',
dataType : 'json',//指定返回的数据类型,无需再对json字符串进行解析。
data : {},
success : function(data) {
alert(data.msg);
}
};
$("#myForm").ajaxForm(option).submit(function(){
return false;//防止默认的提交动作,即防止二次提交
});
$('#myForm').submit(function() {
$('#myForm').ajaxSubmit(option);
return false;//防止二次提交
});
//普通事件也能通过ajaxSubmit提交表单
$('#button').click(function() {
$('#myForm').ajaxSubmit(option);
});
});
</script>
ajaxForm和ajaxSubmit方法的参数同$.ajax的参数。
参数 | 含义 |
---|---|
url | 请求路径 |
data | json格式的参数 |
type | 请求类型 |
success | 成功的回调函数 |
error | 请求失败的回调函数 |
dataType | 预期服务器返回的类型,若指定json,则无需再解析json字符串 |
contentType | 指定发送的数据类型 |