当前位置: 首页 > 面试题库 >

Ajax请求被追加到多个匹配中

欧镜
2023-03-14
问题内容

如果用户填充了一些无效数据,则会触发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



 类似资料:
  • 我一直得到这个错误,当我尝试有2"获取"方法 找到多个与请求匹配的操作:webapi 我一直在寻找其他类似的问题,但我不明白。 我有两个不同的名称,并使用“HttpGet”属性

  • 问题内容: 我需要传递基于Ajax的帖子请求,但不确定如何才能以最佳方式完成。使用内部签入请求的平台(仅POST请求) 最初我想将其添加到标题中 这将使其可用于每个Ajax请求,但不适用于我的情况,因为in请求仍然以null形式出现。 我可以为所有处理类型的Ajax调用设置任何方法吗 编辑 如果我在Ajax调用中执行了类似的操作 一切正常。 我的问题是,我想将值作为请求参数而不是请求标头传递 问题

  • 问题内容: 我试图通过ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我从数据库中获取数据的查询… 但是当我单击删除链接数据未删除并显示csrf_token不匹配… 问题答案: 您必须在ajax请求中添加 数据 。我希望这样会有用。

  • 我正在尝试通过Ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我要从数据库中提取数据的查询... 但当我单击“删除链接数据未删除”并显示csrf_token不匹配时...

  • 我正在使用Spring云合同创建集成测试。从配置到将存根jar添加到项目,一切都正常工作。因此,我发现尽管所有参数和标头都相同,但请求不匹配。 这是API测试 这是API调用的合约 即使我从合同请求中删除用户名,仍然收到相同的错误。 我需要为X-B3-ParentSpanId等创建标题来使其匹配吗?

  • 问题内容: 我在端口5000的node.js服务器上设置了CORS,如下所示: 我现在正尝试像这样在从硬盘打开的静态网页中使用JQuery发送AJAX POST请求: 该函数从不调用,并且我得到的唯一警报是来自XHR 处理程序的警报,其中包含以下错误: 我认为CORS配置合理, 我缺少什么? 编辑 :对于我而言,我能找到的最佳解决方案是从服务器发送页面: 问题答案: 这是我正在使用的代码。它位于我