如果用户填充了一些无效数据,则会触发ajax请求并显示错误消息。现在,当用户再次更正数据/或再次输入无效数据时,将触发2个请求,下一次是3个,并且继续增加。
这可能是由于parsley js库。 如果我删除香菜代码,它可以正常工作。任何想法?
这是ajax代码
$('#upload-profile-button').on('click', function(e) { $("#upload-profile-form").parsley().validate(); $("#upload-profile-form").parsley().on('form:validate', function (formInstance) { var isFormValid = formInstance.isValid(); if(isFormValid){ e.preventDefault(); $('#upload-profile-button').html('Uploading...'); var fd = new FormData($("#upload-profile-form")[0]); $.ajax({ type : 'POST', url : '/mbatch/batch/uploadBatch', data : fd, processData : false, contentType : false, beforeSend : function() { }, success : function(response) { if (response.data.fetchTpodSuccess == true) { window.location.href= "/mbatch/batch/listBatch"; } else { new PNotify({ title: 'Notice', text: response.message, type: 'error', styling: 'bootstrap3' }); $('#upload-profile-button').html('Submit'); } }, error : function(data) { new PNotify({ title: 'Notice', text: JSON.parse(data.responseText).message, type: 'error', styling: 'bootstrap3' }); $('#upload-profile-button').html('Submit'); } }); } }); });
这是HTML代码段
<button id="upload-profile-button" type="button" class="btn btn-primary">Submit</button>
任何线索将不胜感激。
我刚刚找到解决方案。这是因为我也在form标签和js中使用了data-parsley-validate
<form id="upload-profile-form" data-parsley-validate enctype="multipart/form-data" name = "uploadBatchForm" class="form-horizontal form-label-left" >
Parsley会在文档加载时查看DOM中所有data-parsley-validate实例,并在有效时自动绑定它们。 一旦表单或字段实例被Parsley绑定,就执行$(’#form’)。parsley(options); 将更新现有选项,但不会替换它们。
来源-http://parsleyjs.org/doc/index.html