【发布时间】:2014-11-11 14:01:10
【问题描述】:
问候朋友。所以我一直在研究这个网站很长时间,但我的问题没有得到满意的答案。
这是我的控制器:
public ActionResult EliminarLibro(string bookId)
{
bookModel ModeloLibro = new bookModel();
ModeloLibro.EliminarLibro(bookId);
TempData["message"] = "Se ha eliminado el libro correctamente.";
return RedirectToAction("GestionBiblioteca");
}
这是我的 Ajax 视图:
var myBookId = $('.parrafo-codigo').text();
$.ajax({
type: "GET",
url: "/Home/VerificarEliminarLibro",
data: { bookId: myBookId },
datatype: "json",
success: function (data) {
// $('#result').html(data);
if (data.esteLibroEstaPrestado == true) {
$('#delModal').modal('hide'); // Quito modal de pregunta si se elimina
$('#errModal').modal('show'); // Muestra modal de error
} else {
window.location.href = '/Home/EliminarLibro/' + myBookId;
}
}
});
问题是:如何使 ActionResult EliminarLibro 无法通过 URL 访问(例如 XXXX/Home/EliminarLibro/0000532307)但需要从 ajax 调用?
【问题讨论】:
-
很确定您可以在
ActionResult中获得呼叫的类型,然后您可以从那里决定做什么。但老实说,尝试做你正在做的事情是没有意义的。无论是否通过 ajax,Url 都应该被执行。刚想到,你可以让 AJAX 发送一个密钥,然后在ActionResult中评估该密钥,拒绝无效密钥 -
@No1_Melman 你能举个例子吗?
标签: c# ajax asp.net-mvc-5