通过 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,
我在部分视图中收到 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,