jQuery.post()同时调用GET和post

jQuery.post()同时调用GET和post,jquery,asp.net-mvc,post,get,Jquery,Asp.net Mvc,Post,Get,我有一个简单的asp.net mvc应用程序,其中定义了[HttpPost]控制器方法。由于某些原因,在调用jQuery.post()时,会将2个请求发布到服务器: http GET返回404,然后 成功返回的http POST 谁能解释一下为什么最初的GET请求?这会产生大量无用的错误 示例代码: <a href="~/group/create/" class="btn btn-default" data-toggle="modal" data-target="#GroupModal"&

我有一个简单的asp.net mvc应用程序,其中定义了[HttpPost]控制器方法。由于某些原因,在调用jQuery.post()时,会将2个请求发布到服务器:

  • http GET返回404,然后

  • 成功返回的http POST

  • 谁能解释一下为什么最初的GET请求?这会产生大量无用的错误

    示例代码:

    <a href="~/group/create/" class="btn btn-default" data-toggle="modal" data-target="#GroupModal">Create Group</a>
    <script>
    $('#GroupModal').on('show.bs.modal', function (event) {
            var _this = $(this);
            var _btn = $(event.relatedTarget);
            var _body = _this.find('.modal-body');
            $.post(_btn.attr('href')).done(function (r) { _body.html(r); });
        });
    </script>
    
    
    $('#GroupModal').on('show.bs.modal',函数(事件){
    var_this=$(this);
    var_btn=$(event.relatedTarget);
    var _body=_this.find('.modal body');
    $.post(_btn.attr('href')).done(函数(r){u body.html(r);});
    });
    
    默认情况下,Bootstrap 3向href值发出远程ajax GET请求。通过向锚点添加data remote=“false”解决了此问题。

    也许您应该向我们展示一些代码。我猜,您正在取消触发Ajax调用的操作。我可能错了,但是如果我没有记错的话,第一个GET请求实际上是一个选项请求,因为它试图确定服务器的功能,以便正确提交POST请求Welcome to SO。请访问,了解如何提问。提示:发布工作和代码。get可能来自您忘记取消的表单
    $(“#formId”)。在(“提交”上,函数(e){e.preventDefault();$.post…
    @Melanef如果它是同一个源请求,则不会。在您的问题中,如果不阻止默认操作,则执行get请求的唯一事情就是锚定标记本身。