代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>login test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="login test">   
</head>
<body>
<div id="form-div">
    <form id="form1" action="/users/login" method="post">
        <p>用户名:<input name="userName" type="text" id="txtUserName" tabindex="1" size="15" value=""/></p>
        <p>密 码:<input name="password" type="password" id="TextBox2" tabindex="2" size="16" value=""/></p>
        <p><input type="submit" value="登录">&nbsp<input type="reset" value="重置"></p>
    </form>
</div>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>login test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="ajax方式">
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script type="text/javascript">
        function login() {
            $.ajax({
            //几个参数需要注意一下
                type: "POST",//方法类型
                dataType: "json",//预期服务器返回的数据类型
                url: "/users/login" ,//url
                data: $('#form1').serialize(),
                success: function (result) {
                    console.log(result);//打印服务端返回的数据(调试用)
                    if (result.resultCode == 200) {
                        alert("SUCCESS");
                    }
                    ;
                },
                error : function() {
                    alert("异常!");
                }
            });
        }
    </script>
</head>
<body>
<div id="form-div">
    <form id="form1" onsubmit="return false" action="##" method="post">
        <p>用户名:<input name="userName" type="text" id="txtUserName" tabindex="1" size="15" value=""/></p>
        <p>密 码:<input name="password" type="password" id="TextBox2" tabindex="2" size="16" value=""/></p>
        <p><input type="button" value="登录" onclick="login()">&nbsp;<input type="reset" value="重置"></p>
    </form>
</div>
</body>
</html>

ajaxSubmit 和ajaxForm区别

// 依赖的脚本文件
<script src="../Javascript/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="../Javascript/jquery.form.js" type="text/javascript"></script>
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按钮。

代码:

<!--HTML-->
    <form id="form1" name="form1">
        <input id="userName" name="userName" value="姓名" />
        <input id="age" name="age" value="30" />
        <input type="submit" value="submit" />
    </form>
    <input id="myButton" type="button" value="提交" />
    <!--javascript-->
    <script type="text/javascript">

        var myData = {
            "CnName": "詹姆斯",
            "EnName":"James"
        };
        $(function () {
            var ajaxFormOption = {
                type: "post",  //提交方式 
                dataType: "json", //数据类型 
                data: myData,//自定义数据参数,视情况添加
                url: "TestHandler.ashx?type=ajaxForm", //请求url 
                success: function (data) { //提交成功的回调函数 
                    document.write("success");
                }
            };

            //form中有submit按钮——方式1
            $("#form1").ajaxForm(ajaxFormOption);

            //form中有submit按钮——方式2
            $("#form1").submit(function () {
                $(this).ajaxSubmit(ajaxFormOption);
                return false;
            });

            //不需要submit按钮,可以是任何元素的click事件
            $("#myButton").click(function () {
                $("#form1").ajaxSubmit(ajaxFormOption);
                return false;
            });

        });
    </script>

参考:

  1. jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
  2. 表单提交-form提交和ajax提交
  3. Bootstrap使用模态框modal实现表单提交弹出框
  4. ajax form数据封装,ajax提交整个form表单,ajax 自动获取当前form数据
  5. 使用ajax提交form表单,包括ajax文件上传
  6. 使用ajax方法实现form表单的提交
  7. jQuery form插件的使用–ajaxForm()和ajaxSubmit()的可选参数项对象
  8. jquery.form.js的ajaxSubmit和ajaxForm使用
  9. jQuery form plugin中文使用说明
  10. Ajax表单提交插件jquery form
  11. jquery ajax提交表单获取返回文本
  12. ajaxForm和ajaxSubmit 的用法及整理
  13. 关于form表单提交ajaxForm和ajaxSubmit的用法与区别
  14. jQuery使用ajaxSubmit()提交表单示例
  15. Jquery表单插件ajaxForm用法详解
  16. 使用jquery.form.js的ajaxsubmit方法提交数据的Bug
  17. DJANGO笔记总结(六)–AJAX操作、中间件相关
  18. form.ajaxSubmit获取上传的文件名
  19. ajax form表单提交 input file中的文件
  20. ajax form表单提交 input file中的文件
  21. ajax上传后获取文件名
  22. jQuery Form Plugin——官网