Ajax按钮引发此错误:-服务器未找到与请求的URI(统一资源标识符)匹配的任何内容

问题描述 投票:0回答:2

我正在研究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

任何建议?

asp.net-core asp.net-core-mvc unobtrusive-ajax
2个回答
0
投票

无法找到Create操作,请确保为data-ajax-url传递正确的值。

您可以使用Html.Action Herlper创建url

data-ajax-url="@(Html.Action("Create", "Submission"))"

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。

© www.soinside.com 2019 - 2024. All rights reserved.