ajax提交数据,回调函数不执行或总是执行error回调函数
表单:
<form id="form" method="post">
<div class="form-group has-feedback">
<input id="username" type="text" name="username" class="form-control"
placeholder="用户名"> <span
></span>
</div>
<div class="form-group has-feedback">
<input id="email" type="text" name="email" class="form-control"
placeholder="邮箱"> <span
></span>
</div>
<div class="form-group has-feedback col-xs-8" style="padding-left: 0px">
<input id="checkCode" type="text" name="checkCode" class="form-control"
placeholder="验证码"> <span
></span>
</div>
<div class="form-group has-feedback col-xs-4">
<%--验证码图片--%>
<label><img type="image" src="auth/code" id="codeImage" style="cursor:pointer;"/></label>
</div>
<div class="row">
<!-- /.col -->
<div class="col-xs-4" style="left: 120px">
<button id="submit" type="button" class="btn btn-primary btn-block btn-flat">提交</button>
</div>
<!-- /.col -->
</div>
</form>
ajax请求:
$("#submit").click(function () {
$.post("users/forgetPassword", $("#form").serialize(), function (data) {
alert(data)
}, "json")
});
试了用$("#form").submit()函数发送ajax请求,发现请求会提交到后台,但回调函数不会执行
网上查阅了资料,用ajax提交表单数据,提交按钮要是写在form单内的话,提交方式必须要写成button不能写成submit,不然的话数据可以提交到后台但不会执行$.post()的回调函数或总是执行ajax的error回调函数。
总结是以后把提交按钮的type写为button而不是submit,并且给这个按钮添加单击事件