小编典典

ASP.NET MVC的基本AJAX示例?

ajax

我正在为教育目的制作一个演示ASP.NET MVC应用程序。

我有一个图像/链接将帖子标记为令人反感。我想通过AJAX从服务器请求标记攻击,并检查以确保用户具有此功能。

如果用户这样做,那么我想在数据库中将该帖子标记为令人反感,并返回该标记已通过。如果用户最终无权标记项目,那么我想向客户端返回否定消息,以便我可以弹出一个漂亮的jQuery框,指出它没有通过。

我正在尝试做所有这些而没有完整的回发/刷新。

有没有人链接到使用MVC进行的简单AJAX请求的示例?


阅读 431

收藏
2020-07-26

共1个答案

小编典典

使用jQuery实际上非常简单。假设您的链接是这样的:

<a href="javascript:flagInappropriate(<%=Model.PostId%>);">Flag as inappropriate</a>

创建一个JavaScript来调用控制器中的操作,以根据需要进行检查和标记:

function flagInappropriate(postId) {
    var url = "<CONTROLLER>/<ACTION>/" + postId;
    $.post(url, function(data) {
        if (data) {
            // callback to show image/flag
        } else {
            // callback to show error/permission
        }
    });
}

在您的控制器中,操作方法可能如下所示:

[AcceptVerbs("POST")]
public bool FlagAsInappropriate(int id) {
    // check permission
    bool allow = CheckPermission();

    // if allow then flag post
    if (allow) {
        // flag post

        return true;
    } else {
        return false;
    }
}
2020-07-26