AJAX 在调用 MVC 控制器时收到 500 内部服务器错误 ASP.NET



尝试使用 Javascript AJAX 调用控制器操作时,我收到 500 内部服务器错误。

我想在用户单击确认按钮时调用控制器方法。

CS 控制器

[HttpPost] 
[ValidateAntiForgeryToken]
public ActionResult Delete(string idFb, FormCollection from)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(urlAPISignature);
var deleteTask = client.DeleteAsync("api/whitepages/" + idFb);
deleteTask.Wait();
var result = deleteTask.Result;
if (result.IsSuccessStatusCode)
{
return RedirectToAction("Index");
}
return RedirectToAction("Index");
}
}

CSHTML 文件

columns.Add().Encoded(false).Sanitized(false).Titled("").Filterable(false).RenderValueAs(model =>
"<img title="supprimer" class="delBtnWp" data-idEpi="" + model.IdFb + "" src="" + @Url.Content("~/Content/Images/trash-can.png") + "" height="24" width="24" alt="del" />");
.
.
.
.
<script>
$(".delBtnWp").click(function () {
var idFb = $(this).attr("data-IdFb");
bootbox.dialog({
title: 'Confirmer la suppression',
message: 'Souhaitez-vous vraiment supprimer la ligne ?',
buttons: {
danger: {
label: 'Non'
},
success: {
label: 'Oui',
className: "btn-success",
callback: function () {
success ();
}
}
},
callback: function (result) {
if (result) {
$.ajax({
type: 'POST',
url: "@Url.Action("Delete", "WhitePages")",
data: { IdFb: idFb },
success: function (data) {
alert("Yes");
}
});
}
}
});
});
</script>

编译器甚至没有到达控制器操作。

关于您的情况,请从控制器中的 ActionMethod 中删除[ValidateAntiForgeryToken],或者在视图上生成伪造令牌,然后将其发送到 AJAX 调用中。您还需要将data-idEpi更改为data-idFb.这将解决您的 500 内部服务器错误。

最新更新