0

我正在开发一个 Asp.Net MVC 核心 Web 应用程序,并且我在我的 razor 视图中添加了以下表单,以构建一个 Ajax 表单:-

<form method="get" data-ajax="true" data-ajax-url="/Submission/Create" data-ajax-method="get" data-ajax-update="#panel" data-ajax-failure="failed">
                    <div class="form-group">
                        <input type="submit" value="Submit" class="btn btn-primary" />
                    </div>

</form>

我在脚本中添加了以下内容:-

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");
     <script src="~/js/jquery.unobtrusive-ajax.js"></script>

    }
}

但是当我单击提交按钮时,我在浏览器控制台上收到此错误:-

HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
(XHR)GET - https://localhost:44363/Submission/Create?X-Requested-With=XMLHttpRequest&_=1590002030070

有什么建议吗?

4

2 回答 2

0

这是我的工作代码:

<div>
<form method="get" data-ajax="true" data-ajax-url="/Submission/Create" data-ajax-method="get" data-ajax-update="#panel" data-ajax-failure="failed">
    <div class="form-group">
        <input type="submit" value="Submit" class="btn btn-primary" />
    </div>

</form>
</div>
@section Scripts {
  @{await Html.RenderPartialAsync("_ValidationScriptsPartial");
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.min.js"></script>

    <script>
        function failed() {

        }
    </script>
 }
}

控制器

public class SubmissionController : Controller
{
    public IActionResult Create()
    {
        return View();
    }
}

对于您的错误,我认为您可以检查 url '/Submission/Create' 是否存在。接下来您可以检查是否有一些中间件阻止访问该 url。

于 2020-05-21T07:09:58.223 回答
0

它无法找到该Create操作,请确保您传递了正确的值data-ajax-url

您可以使用Html.Actionherlper 创建url

data-ajax-url="@(Html.Action("Create", "Submission"))"
于 2020-05-21T06:14:34.670 回答