通过 ajax 在 mvc 控制器上找不到 404

Getting a 404 not found on mvc controller via ajax

我在部分视图中收到 404 not found 我正在尝试加载我正在使用控制器来决定加载的内容

[HttpGet]
public PartialViewResult GetPartialView()
{
  //Add model if any and send it through partialview
  return PartialView("_PartnerDetailsForm.cshtml");
}

我的脚本文件中是 ajax 的项目,我正在使用它来加载 partiview,但在调试时出现错误 404 not found。

$(document).on('change', '#chkisJointApplication', function () {
        if (this.checked) {
            $.ajax({
                url: '@Url.Action("GetPartialView", "FormsController")',
                type: "Get",
                success: function (data) {
                    $("#partnerForm").html(data);
                }
            });

        }
        else
            $("#partnerForm").html(''); //clearing the innerHTML if checkbox is unchecked
  });

控制台调试Window

显示表单控制器的屏幕截图。

编辑 1 那行得通,但现在我面临以下问题,如何

编辑 2

这是为了显示局部视图的表单内容。

<div class="row">

 <section class="col col-6">

     <label class="input">

        <i class="icon-prepend fa fa-user"></i>
        <input type="text" name="fname" placeholder="First name">
    </label>
</section>
<section class="col col-6">
    <label class="input">
        <i class="icon-prepend fa fa-user"></i>
        <input type="text" name="lname" placeholder="Last name">
    </label>
</section>
</div>
<div class="row">
 <section class="col col-6">
    <label class="input">
        <i class="icon-prepend fa fa-envelope"></i>
        <input type="email" name="email" placeholder="E-mail">
    </label>
</section>
<section class="col col-6">
    <label class="input">
        <i class="icon-prepend fa fa-phone"></i>
        <input type="tel" name="phone" placeholder="Phone">
    </label>
</section>
</div>

您需要修复代码 js,例如:

$(document).on('change', '#chkisJointApplication', function () {
        if (this.checked) {
            $.ajax({
                url: '/Forms/GetPartialView',
                type: "Get",
                success: function (data) {
                    $("#partnerForm").html(data);
                }
            });

        }
        else
            $("#partnerForm").html(''); //clearing the innerHTML if checkbox is unchecked
  });

你不需要写 'controller' 这个词......这样就可以了:

url: '@Url.Action("GetPartialView", "Forms")'

编辑

如果你在 .js 文件中有它:

将其放入视图中:

<input type="hidden" id="myUrl" value = "@Url.Action("GetPartialView", "Forms")" />

在 js 中:

url: $("#myUrl").val(),

url: document.getElementById('myUrl').value,