【发布时间】:2016-09-27 14:53:20
【问题描述】:
我有一个简单的 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>
【问题讨论】:
-
也许你应该给我们看一些代码。我猜,您正在取消触发 Ajax 调用的操作。
-
我可能是错的,但如果我没记错的话,第一个 GET 请求实际上是一个 OPTIONS 请求,因为它试图确定服务器功能以便正确提交 POST 请求
-
欢迎来到 SO。请访问help center 了解询问内容和方式。提示:发布努力和代码。获取可能来自您忘记取消的表单
$("#formId").on("submit",function(e) { e.preventDefault(); $.post.... -
@Melanef 不是同源请求。
-
如果不阻止默认操作,您的问题中唯一执行 GET 请求的是锚标记本身。
标签: jquery asp.net-mvc post get